I think 15 minutes check-in interval for the agent is too long. It would be better to have the agent check in when it has data to submit and to get a response from the server at that time. If it doesn't have anything to report, then it should still check in more frequenty.