We propose to implement a client-server application to provide a management interface which can effectively report and control the status of the distributed telephony system, as well as maintain meaningful usage statistics. The system manager will work from a single server which collects and displays information from many clients. There will be one client for each distributed component of the system, and each client will function in a similar manner with respect to administration. The programmers for each component will be required to notify the client management application of certain key events using a simple, easy-to-program interface.
The management server application will be written entirely in Java, and will export an RMI interface to client management applications. Each component of the distributed system will have its own management client, which will immediately start and report its hostname and chosen port number to the management server when that component is started. The client will also export an RMI interface to the server on its chosen port number. Additionally, it will provide two local methods to the system component which invokes it. In the event that the system component is written in C/C++, a linkable object file will be provided to the programmers as the interface to the java class file.
Because each component of the distributed system incorporates its own management client, each component is directly and individually addressable by the management server. Even if a single host runs several different components (or several instances of the same component), each component runs its own individual management client on a different port number.