MODULE NAME : SHARE_VIEWS INPUTS : geometry PARAMETERS : local integer local float local string connection list={hostname[1-9],talk_port[1-9],listen_port[1-9]} OUTPUTS : integer float string geometry DESCRIPTION : This module is part of the collaboratory development being done at the North Carolina Supercomputing Center. This module allows AVS users, on up to 9 heterogeneous workstations, to perform shared visualization. In other words, the data can be located on one workstation's file system, the computation could be done on that user's workstation, and then the resulting geometry can be broadcast to all of the other users and then rendered on each user's individual workstation. Each user can then take control of the visualization, rotating and translating not only his view, but that of the other collaborators. In addition, integers, floats, and strings can be broadcast around the collaborative loop to allow for interactive distributed data slicing, contouring, and file switching. The first step in using the module is to set up the connection list. This list tells the module which machines to talk to, and on which ports. See below. If BROADCAST is turned on, then any new geometry on the input port, or any new float, integers, or string in the type_in will be broadcast on all of the talk ports. All of the local parameters can be turned into input ports through standard AVS. Any new float, integers, or string are passed onto the module output, but the geometry is not copied over. If LISTEN is turned on, all listen ports are checked continuously for new parameters. Anything coming across the network is then outputted through the module output ports. With the broadcast/listen options and separate output ports, each user can maintain a local view; while another user control the visualization parameters. NOTES: 1. The GEOMETRY output port must be hooked up to the geometry viewer in order to received transformations of selected objects. 2. Label and Line Geometries can not be transmitted. 3. All geometries are converted into polytriangle objects before being transmitted. 4. This modules has an iris-explorer counterpart - that only listens. 5. If the VERBOSE definition is turned on during compilation, the module will provide tremendous feedback on the network communication. EXAMPLE NETWORK: machine 1 machine 2-9 ----------- ------------- read field share_views | | share views | | | | | | | ---- | | | | | | | isosurface geometry viewer | | ------- | | | geometry viewer With these networks set up, both users can toggle the isosurface threhsold, and both users can spin each others objects. CONNECTION LIST : If you click on Show Connection List - a chart of hostnames, and ports will appear. If a port is listed as 0 - then no connection to the host exists. The minimum port number is 4200- this was arbitrarily chosen to avoid any system sockets. There are nine identical entries in the connection list. Each and every entry should be different. In each host type_in, you can enter any hostname on the internet ( e.g. avs.ncsc.org ). In the listen and talk entries, neither is required, you should enter an arbitrary number above 4200 - if the entry is not reset to 0 then you have established a socket connection to that machine. EXAMPLE CONNECTION LIST: machine 1 ( doppler ) machine 2 ( mach ) ----------------------- -------------------- Hostname 1 : mach Hostname 1 : doppler Listen Port 1 : 4600 Listen Port 1 : 4601 Talk Port 1 : 4601 Talk Port 1 : 4600 Hostname 2 : fermi Hostname 2 : fermi Listen Port 2 : 4800 Listen Port 2 : 4900 Talk Port 2 : 4801 Talk Port 2 : 4901 machine 3 ( fermi ) --------------------- Hostname 1 : doppler Listen Port 1 : 4801 Talk Port 1 : 4800 Hostname 2 : mach Listen Port 2 : 4901 Talk Port 2 : 4900 Credits : The socket communication is based upon NCSA's DTM library. This library can be obtained from ftp.ncsa.uiuc.edu FUTURE WORK: Work on the connection list interface is a dire necessary. PLEASE SEND SUGGESTIONS FOR FUTURE WORK !!!!! Please contact me for any assistance in using the module or any suggestions, bugs, etc... Terry Myerson International AVS Center North Carolina Supercomputing Center avs@ncsc.org or tvv@ncsc.org (919) 248 - 1186