This section contains information on starting and running a dynamic collaborative session. These types of sessions are characterised by users dynamically altering the visualization map as they explore their data, adding and removing shared data objects. It is assumed that collaborators are able to communicate as a group using either a videophone system for shared video and audio, or perhaps a shared text tool or even just a telephone.
The first step in running any collaborative session is to ensure that there is a single COVISA Server running on a machine that all participants have network access to. The COVISA Server can be started on the command line by typing COVISAServer and pressing enter. See Section 2.1, COVISA Server, for a full description. Once the server is running proceed to step 2 having made sure that all collaborators are aware of the name of the machine running the server.
All collaborators need to be running a copy of IRIS Explorer on their own machine. They then need to each launch a copy of the module MServer found in the Collaboration section of the Librarian (see Figure 4-1).
When the module is launched a number of fields may need to be completed or altered (see Figure 4-2). First check that the slot marked COVISAServer Machine contains the name of the machine running the COVISA Server as set in Section 4.1. Check the slot marked UserName to ensure it contains the name you wish to use in the session. It is best to choose a unique name for the session to aid identification. Check that the slot marked COVISAServer Port contains the port number that the COVISA Server is using. This value is set to a default of 5127 at installation time so it probably will not need to be altered. The default server mode is On-The-Fly, this is the mode that you should be using for this type of session. Finally, press the button marked Start to connect to the collaborative session. Once the MServer module has made the connection to the COVISA Server, the COVISAServer Machine, COVISAServer Port, UserName and Start widgets will disappear, and a new widget called Conference List will take their place. In this widget will appear your own username and the names of all the other collaborators in the current session. The Group Join/Find widget will remain empty.
Collaborative modules, in the main, are designed for sharing data and control parameters between separate instances of IRIS Explorer. It is easier to demonstrate this using a map that is already running, so for the purposes of this example we shall use the cfd map. Look in the list labelled Maps in the Librarian and launch the cfd map into the Map Editor. Ask your collaborator(s) to do the same.
Now that the cfd map is running, we can begin to think about collaborating. First of all maximise the IsosurfaceLat module. On its user interface is a dial, called Threshold, that controls the value of the isosurface that will be extracted. This widget value is passed within an IRIS Explorer map as a cxParameter datatype. To share its value between sessions we use an MShareParam module. Look in the list labelled Collaboration in the Librarian for the MShareParam module and launch it into the Map Editor. When its control panel appears, press the Initiate button to connect it to the COVISA Server (see Figure 4-3). Your collaborators' IRIS Explorer sessions will automatically start corresponding MShareParam modules which will connect themselves to the COVISA Server. There is no need for them to launch an MShareParam module or press any buttons on modules launched on their behalf.
Wire the output from IsosurfaceLat labelled Threshold to the input of MShareParam labelled In_Param1 (see Figure 4-4). Ask your collaborators to wire the output from their MShareParam modules labelled Out_Param1 to the input of their IsosurfaceLat modules labelled Threshold. If you now alter your dial, labelled Threshold, this value will be passed to the Threshold dial of your collaborators' IsosurfaceLat modules. You are now able to control the isosurface being calculated in all of the connected sessions.
If your collaborators now wire the Threshold output from their IsosurfaceLat modules to the In_Param1 input of their MShareParam modules, and you wire the Out_Param1 output of your MShareParam module to the Threshold input port of your IsosurfaceLat module, then the Threshold value will be under dual (multiple) control (see Figure 4-5). Ask one of your collaborators to alter their dial value and see your dial, and hence isosurface, change in response.
Any of the other widgets on the IsosurfaceLat module may be similarly shared using this process. Care should be taken that the widgets of all the IsosurfaceLat modules are connected to corresponding MShareParam port numbers. E.g. the widget Smooth? uses input and output ports 2, Flip Normal? uses input and output ports 3, etc., etc.
If you wish to share the widgets of other modules, then launch further MShareParam modules and wire the widget ports up appropriately.
Now that we can share control of module parameters, and share the different datatypes, we can consider collaborating over the visualized result. One important tool that is included in this release is the shared pointer module which we can use to indicate precise points in the 3D scene that we wish to discuss with our collaborators.
From the list labelled Collaboration in the module Librarian launch the module MSharePointer. Press the Initiate button to connect it to the COVISA Server in just the same way as the previous data sharing modules. Your collaborators' environments will automatically start corresponding MSharePointer modules and connect them to the COVISA Server. You should now wire the output from MSharePointer labelled Pointer to the input port on Render labelled Input. Also wire the output port on Render labelled Pick to the input port on MSharePointer labelled Position. The MSharePointer module is now wired appropriately (see Figure 4-7).
Set the Render module into the appropriate picking mode (see Section 22.214.171.124) and then click on an object in the scene. The MSharePointer module will create a pointer shaped geometric object and place it at that point in the scene, as well as sending this pointer to the other connected MSharePointer modules. This means that you are able to place a pointer object at the same position in the rendered scene of all collaborators, hence allowing the collaborating group to identify specific points of interest. Now ask one of your collaborators to click a different point in the scene and watch as a new pointer object appears.
For this map you may need to set the pointer size to be around 0.4 using the Scale widget. Also, for identification purposes, it is best for each collaborator to set the Color widget to a different colour name. This means that pointers generated by different collaborators can be easily distinguished.
Collaborators are free to leave a session at any time. When the last collaborator leaves, the COVISA Server will reset its group numbers and tidy up empty groups etc. The COVISA Server process may be terminated at this time. It must not be terminated while other users are collaborating or the session will be destroyed.
You may be able to obtain more information on using collaborative modules at the IRIS Explorer Centre of Excellence or IECOE web site, as the information at this site may be updated from time to time.