Client/Server Design and Implementation Issues in the
Accelerator Control System Environment
S. Sathe, L. Hoff, T. Clifford
Brookhaven National Laboratory
Upton, NY, 11973-5000, USA
In distributed system communication software design, the Client/Server model
has been used widely. This paper addresses the design and implementation issues
of such a model, particularly when used in Accelerator Control Systems.
In designing the Client/Server model one needs to decide how the services will
be defined for a server, what types of messages the server will respond to,
which data formats will be used for the network transactions and how the server
will be located by the client. Special considerations need to be given to error
handling both on the server and client side. Since the server usually is
located on a machine other than the client, easy and informative server
diagnostic capability is required. The higher level abstraction provided by the
Client/Server model simplifies the application writing; however fine control
over network parameters is essential to improve the performance. All the above
mentioned design issues are covered in this paper. Implementation tradeoffs
are also discussed.