Unix Domain Socket
Unix Domain Socket also known as AF_UNIX is long time available on Linux and other Unix based platforms used for inter-process communication without network overhead, significantly reducing latency.
Now, AF_UNIX is finally available through Java JEP-380 within recently released Java 16. More details can be found here.
Also, Microsoft Windows brings experimental AF_UNIX in Windows Build 17093 as integration with MS Linux WSL system.
What that mean for Green Screens Server?
Green Screens Server v5 brings integrated VPN tunnel and in most recent release SSH tunnel and generic SOCK5 support also. Until now, we had to use "localhost" connection to sshbroker or vpnbroker background service, which has some additional and unnecessary networking weight for local internal connections between Green Screens Terminal Server and tunneled channel.
Being able to exclude networking and allow direct memory based connection significantly reduced latency for large number of connections.
Tunnel brokers sshbroker and vpnbroker are updated to v2 with AF_UNIX feature for Linux x64, arm64 and MS Windows x64 and arm64 based processors.
Latest Green Screens Server v5 supports AF_UNIX based tunneled connections as an experimental feature.
When AF_UNIX feature in the latest Java 16 prove to be stable, we will update Green Screens Server from experimental to fully supported. Our plan is to release a full production ready release by the end of 2021.
Green Screens Server requirements
In order to use AF_UNIX, Green Screens Server must be run under Java 16. Additionally, if Green Screens Server is run on MS Windows OS, make sure OS build is at least at build 1800 or newer.
As of Java 14 some algorithms used for SSL are disabled or deprecated. Update to Java Web Server Runtimes might be required as SSL or TLS 1.0 might be unavailable, which is also the reason why we still distribute Java 12 Runtime for compatibility reasons.
New tunnel option UNIX_SOCK will be available through Web Admin console while configuring the tunnel if AF_UNIX is supported in your environment.