Monitor boards & upload skteches other than USB

working with Arduino boards is very interesting like working with SIEMENS CPUs, but it will be more interesting and flexible if i can monitor the board or upload sketches remotely!

maybe we have an ethernet, GSM connectivity to the board so we can monitor it (like serial.print but using ethernet or GSM) or even modify or upload sketches.

i know there are libraries can do it with ethernet (but I think not arduino official) but there is nothing for GPRS,3G connectivity.

thank you