Server-initiated HTTP Communication Using Agent Relays

You can configure agents and agent relays so that the server initiates the upload of HTTP requests over a designated size. This enables the server to control the traffic across the network so that the volume of incoming requests from many agents does not overload the network. The agent still initiates the HTTP request as part of the process being executed, and a certain amount of information is passed through to the server on every request. However, the agent relay suspends any HTTP requests that are too large to pass through directly and enables the server to process them when it is ready.


Server-initiated HTTP communication using agent relays is shown in the following figure.

Figure 1. Server-initiated HTTP Communication


  1. Agents send concurrent requests through HTTP. Requests 1a, 1b and 1c will be processed concurrently, but the figure shows only the processing of request 1a.
  2. Every request coming to an agent relay from an agent will be put on hold before the response from the server is provided. All the requests coming from agents will be queued on an agent relay. The agent relay processes the requests and assigns an internal ID to each of them.
  3. The server periodically polls the agent relay, and detects that the agent relay has an incoming request. The agent relay sends the request ID information to the server using JMS.
  4. When the server receives the request ID, it sends an HTTP request to get the request body from the agent relay.

    Depending on the size of the initial request, this step may be omitted. For small requests, the body can be transferred using JMS during the previous step.

  5. After the server receives the body of the request, it processes it as needed.
  6. After processing the request, the server sends the response to the agent relay.
  7. The agent relay returns the response to the agent from the agent relay using HTTP.
Tip: The agent relay installation option that controls this is Connect the agent relay to a central server, which should be set to n for this scenario.

Related Topics

Installation Checklist

Agent Relay Installation

Managing Agent Relays