next up previous
Next: Boss/Worker. Up: Communication Previous: Communication


Client/Server.

The design of the communication interface between the display client and the analysis server takes into account the following requirements:

Based on the above requirements, we identified four different layers of communication to be designed and prototyped:

The first layer realizes the pure data transfer by means of simple input and output character buffers. Adapting this layer is sufficient to support different means of communication like sockets, shared memory, etc. Only a very basic API is provided at this layer. On top of this layer type, endian conversion is provided. Data types like float, int, char, string and vectors of them are supported. The third layer is responsible for serialization and packaging of requests and responses. Request and responses are in a format that easily allows adding and removing parameters without loss of compatibility. We therefore used a key word based parameterization for both requests and responses. This final fourth layer is the actual API to the application developer. This interface allows easy request/response generation from and to the analysis server.

We have not tackled the security aspect in this layering approach. We did not want to invent our own security scheme here, but instead we made use of standard ssh tunneling techniques that guarantee proper authentication as well as the encryption of exchanged data. Of course, this layer can be disabled if performance is an issue.


next up previous
Next: Boss/Worker. Up: Communication Previous: Communication
2003-10-06