The software component shall be called [url removed, login to view] (the launcher) and shall run as a Windows service and startup on machine boot up. The launcher will perform the basic function of launching another process on the machine it is running on when certain conditions are met. The target platforms for ssLauncher are Windows XP Windows Vista, Windows 7, Windows Server 2003, and Windows Server 2008. The launcher binaries shall be available in 32 - and 64-bit versions.
The conditions for launching the process are made available through a mySQL server on a network machine. The condition for launching a process is when a non-empty result is obtained for a query. Once the process is launched, the process id for the process shall be obtained and another table on the server shall be updated.
The server adds new launch instructions containing simply the case ID and machine ID to the [url removed, login to view] table in ssdb (name of database) and the launchers on all the machines monitor this instruction table. Once a launcher detects one or more records with the machine id corresponding to the machine it is running on, the launcher launches an ssWrapper with the appropriate arguments and then adds a record to the [url removed, login to view] table listing the case ID, machine ID, start time and process ID.
The launcher may be in various states and its functions in these various states are described below:
1. Initialization – establish connection with ssdb. Query the machines table to find out the id of the machine that the process is running on.
2. No process launched and waiting for run instructions – in this state, the launcher is simply querying the database for run instructions ( “instruction table”). When new run instruction(s) is(are) received, the launcher launches another process (“simulation process”) and updates the [url removed, login to view] table in ssdb with the case ID, machine ID, start time, process ID, and a status of “Running”.
3. A simulation process is running – in this state, the launcher is still querying the ssdb for launch instructions. The new instruction table that is received is merged with the locally cached instruction table. Any additions/deletions are processed.
4. A simulation process has just finished – the launcher updates [url removed, login to view] table with a status of “Completed” for the process that has just finished. If the local cache of instruction table is empty, the launcher queries ssdb for the instruction table again. If local cache is not empty, the next instruction in the queue is launched.
Data Access Layer
The ssdb will be stored on a mySQL server. Use the mySQL Connecter/NET as the data access layer. A model built using Entity Framework will be supplied once the project starts.
34 freelancers are bidding on average $1683 for this job
Hello. I'm sysDBA and have great experience in the writing services for Windows. I can prepare demo for you task if you give me some details about this project.