ProjectWise Server Name Resolution
Depending on a ProjectWise Explorer client's socket version and/or the network configuration, the client may have problems solving IP addresses by host name. For example, a client may be really slow at solving IP addresses by host name, or not able to solve it at all, or the client may fail to retrieve a file from the storage area, or file operations may be really slow. To eliminate these problems, you can configure the [NameResolution] section of a server's dmskrnl.cfg file, and then point the client to that server through the ProjectWise Network Configuration Settings dialog.
For each NameResolution entry, the value name is the IP address (recommended) or host name. The value is a comma separated host name list that can be extended with allow and deny masks if required. In some installations the same host name can be bound to different IP addresses depending on the client who is requesting the internal DNS information.
For example, we could have a server with a host name serverA having an internal IP address of 18.104.22.168. The internal IP address will be used by the clients located in the local networks 62.236.136.* or 62.236.164.*. This address cannot be used by clients located outside the local networks. There may be a firewall machine that has an internal IP address of 22.214.171.124 (accessible by clients located in local networks) and an IP address outside (accessible by clients that are not located in the local network) of 126.96.36.199. Then there is port to port mapping configured, so that requests sent to 188.8.131.52 to port 5800 are transferred to 184.108.40.206 to port 5800.
In this scenario host name serverA must be bound to 220.127.116.11 when requests are sent by 62.236.136.* or 62.236.164.* clients. But for all other clients the same host name serverA must be bound to 18.104.22.168.
Let us also include in this scenario a server with the host name serverB with an IP address of 22.214.171.124 that is accessible by all clients. Also in this example we have serverC and we let the server solve the IP address for it on runtime when the configuration file is loaded.
This case can be solved by adding two entries for serverA in the [NameResolution] section, both having allow/deny masks and one entry for serverB and one for serverC:
[NameResolution] 126.96.36.199=serverA.domain.com[ALLOW(62.236.163.*,62.236.164.*)] 188.8.131.52=serverA.domain.com[ALLOW(*.*.*.*),DENY(62.236.163.*,62.236.164.*)] 184.108.40.206=serverB.domain.com serverC=serverC.domain.com
All the [NameResolution] section entries that do not have allow/deny masks can also be used by the server itself to solve the addresses of routed servers and datasource server addresses, and so on.
In this example serverB and serverC entries would be echoed to clients and could be used by the server itself, but entries for serverA are only echoed to the clients and not used by the server itself.