I haven't looked at the actaul inner workings of the implementation.
but, connection timed out, means in general that it didn't recieve an ack for a specified timeout. this also applies to never have recieved an ack in the first place, in other words there was never a connection.
now you can set a longer time out(
http://java.sun.com/javase/6/docs/api/java/net/URLConnection.html#setConnectTimeout(int) ) but under normal circumstances the default should work.
My gues would be that there route to the host is messed (like it beeing absent(no route to host), check if the ppl involved are connected to the internet etc)
Buffer only has a really(really-really) slim chance of effecting the process (mostly though faulty implementations.) I though you got some other exception altogether if the buffer was backed up. but again I must note that I have looked at the implementation specifically.