This product will reside on a terminal services/citrix server and needs to enumerate the sessions on that server, then use something like enumwindows for that session to see what programs are running.
The product must then connect to another server application (via tcp or udp - we can make this) and transmit the username, unique session name and the open windows that user has open eg. calculator, Internet Explorer etc (plus any other useful information).