Patent attributes
A client system stores messages and sends the messages to a server system. The messages are included in a request formatted according to a protocol that can traverse a firewall. Then the client system waits for a response from the server system. The response will also be formatted according to the protocol that can traverse the firewall. The response will include an indication of which messages the server system received from the client system in the last request. If a certain number of messages accumulate at the client system, or a certain amount of time passes before the response is received, the client system will send a second request. The server system also stores messages and sends the messages to the client system. The server system waits for a first request and a second request from the client system. If the first request has been received and a particular number of messages have accumulated at the server system, then the server system will send a response corresponding to the first request. If the second request is received, the server system will send the response corresponding to the first request even if no messages have accumulated. The response will include any accumulated messages. The next time the client system sends a request, the request will include an indication of which messages the client system received from the server system in the last response.