The network client and server, establish a connection on a port and communicate with each other through unix sockets. The network server blastnetsrv listens on a port for connection requests from remote clients. When the connection is established, the server forks itself, gets the command line arguments and the query sequence, executes the appropriate parallel blast program and redirects the results back to the client. When the child process finishes, it sends the signal SIGCHLD to the parent. The parent catches this signal with the wait() system call and gets the exit status for the child. We could ignore this signal, but it is usefull for statistical reasons, to know how many requests succeeded. By starting for each request a new process, many requests can be treated simultanaeously. Our network server uses the same protocol as the network client program from NCBI.