Example Applications
In this section we discuss a few examples of applications in which
Remote Procedure Call has been used effectively at CERN.
Remote File access
Remote file and database access was one of the earliest uses of RPC.
The Sun Network File System, for instance, is implemented using the
Sun XDR RPC system [4]. At CERN, the Valet-Plus VME-based test system
[10] uses RPC running over ethernet to access files on minicomputers
and mainframes.
Remote Graphics
In another RPC application, an active monitoring program may call
GKS standard graphics primitives, which are executed on a remote workstation.
In this case, a more complex server had to be written to handle a
pool of server processes and windows in order to provide a rapid
response to the creation and deletion of many independent client programs.
Remote software task management Load/Start/Control
In this case, RPC allows a co-ordinating computer to perfome the management
functions needed to set up and start the software in a large data
acquisition system.
Each machine has a small server which allows the co-ordinating machine
to start and stop programs and to interact with them.The level of
complexity of the server depends on the machine: on a VAX, the server
can start processes and load images for them to run [12], while on
a simple monotask embedded M68020 processor, the server simply allows
the coordinator access to memory locations (for program loading),the
task's registers (for program starting) and the local tables (for
system configuration).
Attached processor farms are managed in a similar way. The same control
program as runs on a local processor on VMEbus will run equally well
on a VAX attached by ethernet, as the functions it uses to control
the processors and interrogate their state are available by RPC.
Other Examples
Other examples of the use of RPC in experiments at CERN include: remote
monitoring program control, remote FASTBUS access, remote error logging,
remote terminal interaction with processors in VMEbus, the submission
of operating system commands from embedded microprocessors, and many
less general functions.
It is important to realise that the client-server relationship only
applies to one call. In fact a program which is a server from one
point of view may also be a client of another facility. A client may
call back routines within the client it is serving.
(picture ommitted): RPC allows software modules responsible for different
areas to call each other irrespective of processor boundaries.
(Back) (To Summary) (More >> )