What software do mining pools run? I assume they run bitcoind for the network connectivity.  But what about for the work allocation?
There are several pool-implementations that create the individual workloads and track their completion. The Poolservers article at the bitcoin.it Wiki has a comprehensive list, with a feature comparison.