The LocalDiscoveryServer is useful for networks where the host names can be discovered. However, this is typically not the case in large systems with multiple servers on multiple subnets. For this reason there is a need for an enterprise wide DiscoveryServer called a GlobalDiscoveryServer. The GlobalDiscoveryServer (GDS) is an OPC UA Server which allows Clients to search for Servers in the administrative domain. It provides methods that allow applications to register themselves and to search for other applications.
The essential element of a GlobalDiscoveryServer (GDS) is that it can provide the Certificate management services defined in Clause 7. These services can simplify Certificate management even in medium to small systems, therefore, a GDS can be deployed in smaller systems. Different implementations are expected. Some of them will likely provide a front-end to an existing DirectoryService such as LDAP (See Annex E). By standardizing on an OPC UA based interface, OPC UA Clients do not need to have knowledge of different DirectoryServices.
If an administrator registers a LocalDiscoveryServer with the GDS, then the GDS shall periodically update its database by calling FindServersOnNetwork or FindServers on the LDS. Figure 7 shows the relationship between a GDS and the LDS-ME or LDS.
Figure 7 – The Relationship Between GDS and other components
The steps shown in Figure 7 are:
|1||The Server calls RegisterServer2 on the LDS running on the same machine.|
|2||The administrator registers LDS-ME installations with the GDS.|
|3||The GDS calls FindServersOnNetwork on the LDS-ME to find all applications on the same MulticastSubnet.|
|4||The GDS creates a record for each application returned by the LDS-ME. These records shall be approved before they are made available to Clients of the GDS. This approval can be obtained from an Administrator or the GDS can connect to the Server and verifies that it has a trusted Certfiicate.|
|5||The Client calls QueryServers Method on the GDS to discover applications.|
The Information Model used for registration and discovery is shown in clause 6.2. Any Client shall be able to call the QueryServers Method to find applications known to GDS. The complete definitions for each of the types used are described in clause 7.5.