EDOC410

 

 


MIDAS Tape Server - RPC Program Specification and Implementation


 

Edition 2.0
May 1998

 

Nuclear Physics Support Group
Central Laboratory of the Research Councils
Daresbury Laboratory


Introduction

This document describes the Euroball Tape Server (EGTS) RPC program specification used by the Euroball data acquisition system.

It is an merging of two previous Eurogam documents (EDOC020 which describes the general Network Tape System (NTS) and EDOC097 which describes the extensions of EDOC020 used by the Eurogam Tape Server). Those parts of the program specification described in EDOC020 which are not used by EGTS by the Eurogam and Euroball Tape Servers have been removed for clarity.

It is intended that this protocol be available over a number of communications media and hence the relevant Communications Protocol specification document should be consulted for detail in this area.

This protocol is an application carried by the RPC protocol which is described in the Eurogam document Remote Procedure Call.

The general structure of the protocol is described in the Eurogam document RPC Application Programs.

History

Edition 1.0 Sept 1990 - first version. Produced by merging EDOC020 Version 3.0 and EDOC097 Version 2.0.

Edition 2.0 - this version. Produced by merging EDOC304 Version 1.0 and EDOC305 Version 1.0 to form a combined document in HTML format only.
Also contains procedure 31 which was previously EDOC315 and EDOC235.

Operation

Version 2.0 of the document corresponds to version 4 of the program protocol.

Use

Throughout this document capability is an 8 byte (64 bit) opaque field generated by the server and used by the client as an access token.

Overview

The Eurogam Tape Server controls the routing of event-by-event data received from the Event Builder (via ethernet or fddi) to one or more data storage devices (normally Exabyte tapes).

The data acquisition system permits a number of data streams to be generated within the Event Builder (currently this number is limited to 4). As an example of the use of multiple data streams it is possible for one stream to contain all good data; a second stream to contain a selected set of that data already output to the first stream (say events having multiplicity greater than 10) and a third stream to contain all bad events and data rejected by the event builder. This final stream can be used by engineers to diagnose faults in the hardware.

A number of storage devices are permitted. The control graphics interface is currently limited to 8 active devices but this is easily extended. The Tape Server implementation is at present limited to a total of 14 tape devices but can in addition support data devices to file on disc plus any number of test/diagnostic devices. Tape devices are normally exabyte tape but other scsi tape devices such as DAT and DLT have also been used.

The input data streams are routed to output devices by a method allowing each data stream to be routed to one or more output device clusters (if more than one this is data duplication). Each device cluster consists of one or more output devices (if more than one this is data striping).

Procedures are provided to inquire and manage the state of each input data stream, each output device and the state of the server within the data acquisition system. The tape server procedures are the atomic units of access from the user interface. UNIX command line programs are available which correspond to each procedure. However these are intended mainly as a test and diagnostic aid. The primary user interface is from the control graphics which can as required implement macro actions (for example detect and automatically change tapes as the end is reached).

The Tape Server monitors the error retry rate for Exabyte drives as a function of the output data rate and issues warnings if this rate exceeds specified limits.

 

Program Specification

RPC Information

The EGTS service uses only the Null authentication

EGTS is supported on the UDP/IP transport only

EGTS is RPC Program 28000205

This is Version 4 of the protocol

EGTS uses UDP port number 10205

State Variables

0

dev_unalloc

1

dev_alloc

2

dev_mounting

3

dev_mount

4

dev_opening

5

dev_open

6

dev_closing

7

dev_executing

8

dev_initialising

9

dev_identifying

10

dev_putting

11

dev_moving

16

dev_err

 

Procedure Status

0

OK

2

egtserr_unknown

8

egtserr_cap

13

egtserr_state

14

egtserr_inuse

15

egtserr_inv

16

egtserr_nostrm

 

Procedure Summary

0

null procedure

[go]
1

not used by EGTS

 

2

mount volume

[go]
3

open file

[go]
4

not used by EGTS

 

5

not used by EGTS

 

6

not used by EGTS

 

7

inquire device status

[go]
8

close file

[go]
9

dismount volume

[go]
10

deallocate device

[go]
11

not used by EGTS

 

12

inquire stream status

[go]
13

initialise volume

[go]
14

identify volume

[go]
15

not used by EGTS

 

16

inquire available devices

[go]
17

not used by EGTS

 

18

move tape

[go]
19

position tape changer

[go]
20

inquire element status

[go]
21

not used by EGTS

 

22

not used by EGTS

 

23

allocate device

[go]
24

claim EGTS

[go]
25

free EGTS

[go]
26

set EGTS state

[go]
27

inquire EGTS status

[go]
28

associate EGTS data stream

[go]
29

inquire EGTS data stream association

[go]
30

inquire EGTS stream state

[go]
31

event-by-event data transfer

[go]