Distributed Monitoring

Our client’s flagship software product performs real-time equipment monitoring and analysis for their vertical market. But it is a single-threaded application written in a legacy language. New types of equipment demand more than it can handle.

We developed a set of multi-threaded real-time monitoring components to communicate with and manage these new types of equipment, operating independently as separate tasks.

We wrote our components in C++, making extensive use of the Standard Library as somewhat early adopters.

Most components used TCP/IP and UDP sockets, implementing the manufacturers’ specs but with added diagnostics for our field engineers.

Others components interfaced directly with manufacturers’ libraries.

Each component handles moderately high communication traffic loads for continuous uninterrupted operation, across dozens of installations.

Interfaces to the flagship legacy language are through Microsoft’s COM technology. Every detail of our complex components’ interfaces are exposed through Microsoft’s standard Object Browser for easy inspection and manipulation. Explanations and detailed help text are tightly bound to the objects themselves.