A vault controller manages resources in a secure environment or vault dedicated
to an authorized user(s) for conducting electronic business in a distributed information
system. The controller includes a web server and a supervisor in a shared object
library, which runs as part of an HTTP daemon. The supervisor runs as a multi-threaded
process with state and data tables and a vault daemon to support launching secure
processes mapped to users through digital certificates. The vault daemon generates
a password for a user request based on the user ID. The vault daemon launches a
vault process (VP) running in a vault mapped to the user ID. After launching, the
VP returns a message to the supervisor including a token identifying the thread.
The supervisor sends the user request through a socket to the secure VP mapped
to the user ID. The VP receives the request and launches a VP thread to handle
the request. The VP thread writes the process data back through the socket to the
supervisor thread for return to the user.