Jetson Engine Cloud Access
Port Forwarding and Dynamic DNS:
Here is an example of using "Port Forwarding" and "Dynamic DNS" to access Jetson Engine across the internet. You need to set the configurations from your home internet router. We use Verizon FiOS. Routers from different internet service providers likely have different configuration interfaces, but the concept should be the same.
From the router's "Firewall" option, find the "Port Forwarding" feature. Then select the local server from which the Jetson agent and engines will be launched. In the example provided, the local server is the 192.168.10.3 Windows server and our goal is to expose the lc0 engine to be accessible via the internet. Assume the lc0 engine has the following entry in the agent configuration file:
lc0-cuda 53352 lc0.exe --backend=cudnn-auto:--weights=256x20-t40-1541.pb.gz
What we should do is specify a distinct TCP destination port (for example, 60001) on this router and then forward this port to the internal server 192.168.10.3's local TCP port 53352. With this setting in place, any laptop on the internet that attempts to access TCP port 60001 on this router (through its unique internet IP address, aaa.bbb.ccc.ddd, which is assigned by the internet server provider) will be able to access the lc0 engine that resides on the internal Windows server. Here is an example of setting Port Forwarding:
It is highly recommended to use Port Forwarding along with Dynamic DNS in case the router's unique internet IP address (aaa.bbb.ccc.ddd) is changed by the internet service provider. Dynamic DNS will associate a domain name, for example, xxx.dyndns.org, to the router's IP address and will be able to automatically update the IP address association when the IP address is changed. Therefore, the JRExxx engine to be used by the ChessBase client should have the following executable name:
JRE_X64WIN_xxx.dyndns.org_60001_lc0-cuda.exe
If you don't want to use Dynamic DNS, then replace the domain with the actual router IP address like this:
JRE_X64WIN_aaa.bbb.ccc.ddd_60001_lc0-cuda.exe
Note: if you have multiple internal servers to export engines, you have to use distinct destination TCP ports for each of the engines. This is because the router only has one internet IP address. Here is an example of exposing engines from two backend servers:
There is a known issue in the scan function for cloud address, so please do not run command "jetson_scan.exe scan" for this Port Forwarding scenario. Just make a copy of the "jetson_scan.exe" file and change the file name to something like JRE_X64WIN_xxx.dyndns.org_60001_lc0-cuda.exe. Then you just need to follow Steps 5 and 6 of the user guide to load the engine into ChessBase.
Update 9/26/2021: Latest update added customized management port. Each backend node can use different management port instead of the default 53350. Scan function can run without an issue as long as separate forwarding port is associated with each backend node's management port.
We have successfully tested the Port Forwarding/Dynamic DNS settings and are able to access backend engines from the internet. Hope you find that this procedure is easy to follow and that this feature is useful.