Balancing groups currently choose an underlying connection based on the number of active users of that connection, assigning users based on which connection is expected to have the lowest load. This has several shortcomings:
It does not take into account the actual load on the remote desktop server, which can be quite high even for a small number of users if those users are performing unusually intense tasks.
- It does not take into account remote desktop servers which are unreachable or down. Considering only the number of active users, any unreachable server will be chosen extremely often (as it has zero users).
Some mechanism must be implemented which would allow
arbitrary third-party monitoring systems to report the current load of a remote desktop server (or assign some arbitrary relative weighting), while also providing for basic health check pings (or equivalent).
NOTE: Removed external reporting of load from scope for sake of a clean implementation and narrow concerns. Can revisit after this portion is completed, if necessary.