Guralp Systems Limited

PreviousNext

1. Introduction 2. Installation and Configuration 3. The main window 4. Waveview windows 5. Networking 6. Supplementary windows 7. Configuring digitizers 8. Controlling digitizers 9. Recording and playback 10. Printing options 11. Logging and notification 12. Extending Scream! 13. Keyboard short-cuts 14. Inside Scream! 15. Revision history

Section Index: 5.1. My Client 5.2. My Server 5.3. Server Buffer 5.4. Gap recovery 5.5. Retrieving data over dial-up links

Chapter 5. 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 you want to run several instances of Scream! on the same computer.

5.1 My Client

The standard mode of transmission in Scream! uses UDP. Blocks of data are received 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 55, 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.

5.1.1 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.

5.1.2 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.

5.2 My Server

Scream!'s server transmits data over the network via UDP. To prevent network loops, separate options are available to serve local data (from directly connected instruments), or to relay data that was received by the Client (Transmit data from Network).

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 Time-out column. When a pull clients requests data, its time-out is reset, and then starts counting down toward zero. If a pull client's time-out 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 time-out, because Scream! will always try and transmit to them. Thus, clients using pull have a time-out 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 1000 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 9, page 98) but it will not be sent over the network.

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

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.

5.3 Server Buffer

The Scream server must store a history of the data transmitted in case the client does not receive all data. Scream versions prior to 4.5 used a memory buffer for this purpose, which was relatively small, and only offered a small amount of backfilling to the clients.

Starting with Scream 4.5, the user can specify a backfill buffer that is stored on disk, and can thus be very large. The Server Buffer page allows the configuration of the size and location of this disk-based buffering.

If the disk-based buffering is not enabled, Scream will use the memory-based buffering which was used in previous versions.

It is recommended that the user ensures there is sufficient disk space available on the drive selected to hold the buffer. The buffer size can be specified in either time (Days, Weeks, Years), or usage (Mb/Gb/Tb).

5.4 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.

5.5 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 dial-up times and telephone numbers. Scream! will remember all the settings when you exit.

PreviousNext

1. Introduction 2. Installation and Configuration 3. The main window 4. Waveview windows 5. Networking 6. Supplementary windows 7. Configuring digitizers 8. Controlling digitizers 9. Recording and playback 10. Printing options 11. Logging and notification 12. Extending Scream! 13. Keyboard short-cuts 14. Inside Scream! 15. Revision history