This question, and the ones linked to in answers to it, might help:
http://stackoverflow.com/questions/184814/is-there-some-industry-standard-for-unacceptable-webapp-response-time
Somewhat tangential to your question (no time intervals, sorry), but I suspect useful for your work:
A common approach to timeouts is to balance them with "back-off" timers.
It goes something like this:
The first time a service times out, don't worry about it.
The second time in a row a service times out, don't bother calling it for N seconds.
The third time in a row a service times out, don't call it for N+1 seconds.
Then N+2, N+3, N+5, N+8, etc, until you reach some maximum limit M.
The timeout counter is reset when you get a valid response.
I am using a Fibbonacci sequence to increase the "back-off" time period here, but of course you can use any other suitable function -- the point being, if the service you are trying keeps timing you, you "belief" in it get smaller and smaller, so you spend fewer resources trying to get to it, and knock on the door more rarely. This might help the service on the other end, which could simply be overloaded and re-requesting just makes matters worse, and it will increase your response time since you won't be waiting around for a service that is unlikely to answer.