When you configure an anti-affinity rule for an application pool, Horizon Connection Server attempts to launch the application only on RDS hosts that have sufficient resources to run the application. This feature can be useful for controlling applications that consume large amounts of CPU or memory resources.

An anti-affinity rule consists of an application matching pattern and a maximum count. For example, the application matching pattern might be autocad.exe and the maximum count might be 2.

Connection Server sends the anti-affinity rule to Horizon Agent on an RDS host. If any applications running on the RDS host have process names that match the application matching pattern, Horizon Agent counts the current number of instances of those applications and compares the number to the maximum count. If the maximum count is exceeded, Connection Server skips that RDS host when it selects an RDS host to run new sessions of the application.



  1. In Horizon Administrator, select Catalog > Application Pools.
  2. Select the pool to modify and click Edit.
  3. In the Anti-Affinity Patterns text box, type a comma-separated list of patterns to match against the process names of other applications running on RDS hosts.
    The pattern string can include the asterisk (*) and question mark (?) wildcard characters. An asterisk matches zero or more characters and a question mark matches any single character.
    For example, *pad.exe,*notepad.??? matches wordpad.exe, notepad.exe, and notepad.bat, but it does not match wordpad.bat or notepad.script.
    Note: Horizon 7 counts multiple patterns that match for an application in a single session as a single match.
  4. In the Anti-Affinity Count text box, type the maximum number of other applications that can be running on the RDS host before the RDS host is rejected for new application sessions.
    The maximum count can be an integer from 1 to 20.
  5. Click OK to save your changes.