Guralp Systems Limited

Previous Next

Introduction The main window Waveview windows Networking Supplementary windows Configuring digitizers Controlling digitizers Recording and playback Printing options  Logging and notification  Extending Scream! Keyboard shortcuts Inside Scream! Revision history

Networking

You can use Scream! to access the data from a digitizer from anywhere on a local or remote network.

Once a network connection is set up, Scream! can act as a server to provide data to other computers running Scream! or archival programs. To view the currently active Scream! network connections, select Network Control from the Window menu of the main window:

Scream! uses a single local port to communicate with all servers and clients. You can change the number of this port by editing the Port used for all network communications box. You may need to do this if, for example, you want to run several instances of Scream! on the same computer.

My Client

The standard mode of transmission in Scream! uses UDP. Blocks of data are transmitted in UDP packets, which are shown in the Block Rx pane. UDP does not guarantee that data will be successfully received. If data is lost and subsequently recovered, a diagnostic message will appear in the Control pane.

Scream! has two methods for serving data. In the first, Scream! keeps a list of clients which need to be provided with data. This method is known as “server push”:

All data received on the server's serial ports will be sent to these clients automatically. On the client side, to begin receiving data, you should simply check the Receive Data box on the My Client tab. No other action is necessary. If your client is behind a firewall, you will need to unblock the UDP port at the client side.

See “My Server”, page 50, for details of how to set up the server.

Additional clients may also request data from the Scream! server. This method is known as “client pull”:

The requests are placed in UDP packets which the server can recognize. If your server is behind a firewall, you will need to unblock the UDP port at both client and server side.

To request data from the server by this method:

The steps above can be repeated as many times as necessary to pull data from several servers. Scream! remembers all the network settings when it exits, and automatically tries to reconnect when you start it again.

TCP clients

Clients can also make a TCP connection to Scream! and request data. Using this method, transmission of every block is guaranteed, but there is a significant overhead involved in keeping the connection active.

Clients using TCP can access the server by its host name as well as by its IP address. This is useful for installations whose IP address may change.

Multicast clients

Multicasting is a feature of TCP/IP which allows you to send network packets to several clients at once. These are most often used on local networks. Multicast servers use addresses between 224.0.0.0 and 239.255.255.255.

When you Add a multicast server, right-clicking on its entry in the Servers list box pops up a menu with Connect and Disconnect options in place of the GCFxxxx commands.

Selecting Connect instructs Scream! to join the multicast group with that address. If the server is running, data should begin appearing immediately.

Selecting Disconnect makes Scream! leave the multicast group. You can be in several multicast groups simultaneously, and join or leave each one independently of the others.

My Server

Scream!'s server transmits data over the network via UDP. To prevent network loops, only data from the local computer's serial ports is transmitted.

The list of clients that Scream! is currently sending data is shown in the Clients table at the top of the My Server pane. Block-by-block details of the data being transmitted are shown in the Block Tx pane. Other server operations are reported in the Control pane to its right.

Both “server push” and “client pull” clients are listed in this pane. You can see which clients are using which method by looking in the Timeout column. When a pull clients requests data, its timeout is reset, and then starts counting down toward zero. If a pull client's timeout value reaches zero, Scream! assumes it has stopped listening and removes it from the list. On the other hand, push clients do not have a timeout, because Scream! will always try and transmit to them. Thus, clients using pull have a timeout figure listed in this column, whilst pull clients are shown with the entry None.

To start a server and listen for pull requests from clients, check the Transmit data from local Com Ports box on the My Server pane. No other action is necessary. If your server is behind a firewall, you will need to unblock the UDP port at the server side to receive these requests.

To push data to a particular client:

You can add any number of clients, including broadcast addresses and multicast groups. If you want to broadcast or multicast UDP packets, you should obtain suitable addresses from your network administrator.

You can limit the data Scream! sends by setting a maximum sample rate for transmitted streams. Enter a value into the x sps transmitted block limit box to set this rate. This is useful if your network connection is slow or congested. The default value is 200 samples/s.

For example, if a digitizer is configured to generate 4 samples/s and 100 samples/s continuous data, you could monitor the data remotely over a low-bandwidth network by setting this value to 10. The high-rate data can still be recorded on the server if Scream! is so configured (see Chapter 8, page 90) but it will not be sent over the network.

Setting this value to zero suppresses all data streams, but still transmits status streams.

By default, Scream! will only allow you to transmit streams from local instruments from its server. Streams arriving from network clients are not retransmitted. To force Scream! to retransmit data from the network, you must run the program with a special command line option. See Section 13.1, page 124, for details.

You can configure Scream! to let remote clients configure the instruments connected to your computer. To enable this, select Allow remote access to Com Ports. If you are concerned about security, or there are potential problems from outside interference, disable this option. You should never enable this option if you are transmitting data across the Internet.

To alter the IP address or destination port of a client, right-click on it and select Edit.... Enter the new IP address and port as for Add..., and click OK.

To remove a client from the list, right-click on it and select Delete.

Gap recovery

In addition to the normal UDP data protocol, Scream! has facilities for attempting to recover missing data. When Scream! receives a block of data that indicates a gap, it connects to the server over a TCP link (from the same port.) Once this connection is made, Scream! requests the missing data, and if it is available the server transmits it over the TCP connection. The UDP data stream is unaffected.

If you are using a firewall on either side of the connection, and want Scream! to be able to recover missing data in this way, you will need to unblock the relevant port for both UDP and TCP traffic.

Retrieving data over dial-up links

Scream! can manage the retrieval of data from your installation using modems attached to your local PC. This feature is intended for use in conjunction with the triggering capabilities and Flash recording modes of Güralp digitizers.

If you have more than one modem attached to your computer, you can set each one up with a different set of numbers and polling times. You might want to do this if

You can have up to 99 modems collecting data simultaneously, each with an unlimited number of scheduled dialup times and telephone numbers. Scream! will remember all the settings when you exit.

Previous Next

Introduction The main window Waveview windows Networking Supplementary windows Configuring digitizers Controlling digitizers Recording and playback Printing options  Logging and notification  Extending Scream! Keyboard shortcuts Inside Scream! Revision history