That's strange. Could be the router going bad, but it's hard to tell.
I don't know from Xbox, so I can't help you there.
Next time it goes south, get on one of the PC's and try to figure out where the problem is.
Run a DOS shell on your PC (Run->cmd) and then issue the command:
ipconfig /all
Look for the network adapter that is the active one. Your local IP address should be either 192.168.1.xxx or 192.168.0.xxx.
Note if the 3rd octet (byte) of your local IP is a 0 or 1. Your router's IP should be 192.168.0.1 or 192.168.1.1 (depending on what your local 3rd octet is)
First see if the local connection to the router is good by entering:
ping 192.268.1.1 or ping 192.168.0.1
In the DOS shell. You should get a few replies, NOT "request timed out"
If you can't ping the router, then it could be losing the Wifi connection, or if you're wired to the router, then most likely the router is going bad or a bad cable to the router. If it's wifi, try moving closer to the router, or changing to a different channel.
If you can ping the router, then try ping'ing an internet website's IP address. For example, one of Google's IP addresses is 64.233.161.104
ping 64.233.161.104
Again, you should get replies, not "request timed out"
If this fails, then use your web browser to log into your router and check the status of the router's connection through the cable/dsl modem to the internet. Each router is going to provide this information differently, but it will probably be on some kind of "router status" screen. Some routers also allow you to do a ping command from within the router config interface. Try that. If you can't get it to work, try to renew your internet connection by doing a DHCP Release, then DHCP renew. If that fixes the problem, then you are losing your internet connection with your ISP...could be the modem...could be the router...could be bad cable...could be crappy ISP service.
Sorry I can't be more specific, but your problem is vague and there are lots of variables.
The fact that reseting the router fixes the problem doesn't narrow it down much. That's why you want to ping around and use your router's admin interface to try to pinpoint the source of the problem WHILE IT IS HAPPENING.
Good luck