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.