JNLP is the protocol used to control Jenkins agents remotely. The JNLP protocol is available as a standalone library.