1. A method comprising: receiving a plurality of transaction requests associated with one or more network communication sessions; distributing copies of the transaction requests to a plurality of virtual machines over a plurality of time steps to form a processing pipeline of the virtual machines; upon dispatching a threshold number (n) of the transaction requests to the plurality of virtual machines, detecting whether any of the virtual machines in the processing pipeline has been compromised; when none of the virtual machines in the processing pipeline has been compromised, check-pointing the processing pipeline of the virtual machines by recording a state for each of the plurality of virtual machines; and when at least one of the virtual machines in the processing pipeline has been compromised, removing the compromised virtual machines from the processing pipeline.