I'm trying to virtualize a desktop environment which can be accessed from any remote system connected to the network,

I've made some progress and I've some idea's but being a new baby in the field of linux i don't know how to implement things..

Is it possible to have a single, optimized image of the operating system(virtualized operating system) and make it available on-demand across all the users. All virtual desktops boot this same image over the network, applying user-specific settings and profiles at run-time.