I have a computer system as part of my security system that runs a video capture card and ftps images to a web site.. and have a similar requirement to yours. Here is what I did.
First of all you mention you want a soft restart... by definition that would have to be the situation where a particular application is hung up e.g. the PC Anywhere.. and not the Windows Operating system..
What I have done for this case is implement a deadman timer application using the Windows Task Scheduler to kill the locked up app and restart it after a certain period of time.. You will have to figure out your own triggers to do this.
In my case, each time a captured photo is ftp'd to the web site (every 4 minutes), it increments a counter. I have the task scheduler app trigger after the ftp should have occured.. If the counter has not incremented in the prior 4 minute period, I kill the app and restart it.
To do the above, you need a rock solid program that is guaranteed to cleanly kill the app, like IARSN's TaskInfo program. Many programs I've tried will leave threads of the offending parent app active and the program will not restart cleanly unless all the associated threads of the hung app have been forced down.
If after the program has been shut down and restarted, (a second software switch is set to indicate a restart occurred in the prior 4 minute period) and it still won't run right (indicated by the ftp count still not incrementing), the same deadman timer program will do a reboot of the computer.. (using the restart function in the IARSN TaskInfo program). Highly recommend any similar deadman monitor program you implement log all its activities. Otherwise, it can be difficult to confirm it is working correctly.
None of the above will work if the operating system has hung up, which you need to expect will happen and have yet another alternative method to restart the system.
I suggest one of the following two ways, both using products from
to do this..
One method (which I use) is the WEBRELAY QUAD IP controller. I have it on my IP network and have one of the IP relays energize a normally closed AC relay that momentarily cuts power to the computer for 10 seconds and then reapplies power to restart the computer.
The WebRelay Quad generates its own secure webpage, which I can log into and reboot the computer or, do other security related functions. I take cross country road trips and like to check into the security web site a couple times a day to check things at home.. Really cool to be able to reboot a hung computer from several thousand miles away.. :<)
The other product from the above source would be the WEBSOURCE controller. It pings the computer in question and, if it doesn't respond, it will drop power to the computer and restart it..
Obviously your operating has to be able to restart cleanly after a drop of power on the computer. Windows 2000 does this flawlessly for me.. XP ought to also..
Here is a link to the IARSN Taskinfo application mentioned above. I've used this software for over a decade and for what it does, it is absolutely the best implementation I've ever seen..