I will describe the problem as simple as i can;
Let's say we have a com client that defines several interfaces.
In order to improve our com client's functionality; several, independent companies develops & deploys com servers that implements the interface. It is possible that the target machine may have com servers that implements the same interface.
Now here is the problem;
Our com client have no idea about the com servers on the target machine because they will have been developed independently. But still, we can ask independent companies to follow a specific installation procedure.
Now here is the question;
What kind of technique should we use to find out all the compatible com servers that is deployed on the target machine and then instantiate required objects?