I have some remote machines(kiosks) sitting in different offices. They are behind a router and are using NAT so they are not directly accessible. I have the machine able to poll a web server and see if there is any tasks they need to do. One of the things I would would to be able to to do is instruct them to download an image and restore the machine to this image. That way I could update software remotely. I assume that if they were directly accessible then a cooperate version would be the way to go as I would have more control over how things work. At the moment I suspect I will have to write something that will let the machine be able to download the image and then restore it with no user interaction, similar to how a restore CD/DVD would work. Has any one got any ideas where I should go to work out possible solutions, or what kind of license I would need for this?