The IServerID interface is a secondary interface supported by the Server object. The interface has two methods that provide support for client applications handling a PI server changing its ServerID.
When a PI3 server is removed from a machine and another one installed the server ID returned by the the PI server will change. Clients that had connected to the former PI server will have the earlier server ID stored in their Known Servers Table. When the client program connects to the new server on the machine, an error is raised, pseSERVERIDMISMATCH, from the Server.Open call warning that the Server ID has changed, though the connection is left open for the client's use. The methods in this interface provide tools for clients to handle this change. Note when a PI server is upgraded, the server ID does not change and this is not an issue.
One scenario where the handling of the pseSERVERIDMISMATCH error is important is when a PI server is removed from a particular network location, placed at a different location, and then a new PI server is installed at the first location. Client's, due to the path entries in their Known Servers Table, will continue to connect to the older path where the new PI server is installed. They may mistakenly obtain tags of the same name from that Server which represent different measurements than what they intended. The measurements they want to read have been moved with the PI server to a different network location. The serverID detection and error during Server.Open allow the client application to become aware of this situation and present the user with alternatives.