Use Selenium Grid (including some plugins to be installed before you run the tests). Use your application (server), create a URL that will trigger the test on a client machine.
Now, you will have a HTTP request from client and server take the client's IP address and browser values. Then:
- Set up a grid on your server machine.
- The client should create a node with the server as a hub before entering the URL
- Run the tests from the server on a node denoting the client machine.
Selenium Grid reduces a lot of batch execution time and allows you to run your tests on many machines and many browsers. Alternatively, some other independent testing tools in the market with the same functionality you may try with a few clicks like: Katalon, Watir, Tricentis Tosca.
Hope it solves your problem. Let me know if you have any issues.