I'll try to explain my situation and my "dream":
At the moment we have almost 1500 Unitronics PLC installed on our clients sites. This number increases on 150-300 units annually and we are providing maintenance and support for all those PLC's . This include fast response on any clients issue ( mostly through Visilogic debug mode) and frequent PLC application update to the latest version.
For that purpose we are currently keeping few hundreds of all kinds remote connections to our clients networks with Visilogic installed on every remote server.
The "dream" is to have 1 server locating on our host with public static IP.
Server should have visilogic with "multi-threaded visilogic listener" for support and Download Manager for application update.
Each PLC installed on client site will be connected to "multi-threaded visilogic listener". In the "HOST" mode, instead "favorites" visilogic should provide list of PLC's connected to Visilogic with its IP's and named, then user will select 1 unit to debug or download.
Same about application update through Download Manager.
I am well aware about difficulties in developing multi-threaded applications as well that the current Visilogic is based on the ActiveX library, which is not really suitable for such tasks. But Download Manager is based on .Net 4.0 framework.
We already developed a server application (written in Java) for our clients, which provide simultaneous connection between user's SQL server and users PLC's for data exchange. It works pretty well.
Now we are looking for a similar way to improve our support and to automate PLC programs update.
In other words ultimately, we want to make PLC works same way as my PS3, which is connected to PlayStation network and receives all necessary OS updates and connected to game server for on-line play.
One of the options that we considering to automate PLC update is to make a server application which will listen and accept connection from remote PLC's and distribute "clone" files directly to SD card. Than PLC in appropriate time will update itself from SD.
But if Download Manager can do the job, it will save us a lot of time and efforts.