1. A method for managing a distributed application running in a plurality of digital processing devices, comprising: running a first application endpoint of the distributed application in a first virtualized operating system environment in a first of the plurality of digital processing devices; running a second application endpoint of the distributed application in a second virtualized operating system environment in a second of the plurality of digital processing devices, wherein the second application endpoint communicates with the first application endpoint via a network connection in a communication network; sending first messages from the first application to the plurality of digital processing devices to initiate suspending; suspending the first application endpoint and the second application endpoint; saving network state information relating to the network connection, wherein saving network state information comprises sending network state information from the plurality of digital processing devices to the first application; recreating the network connection using the saved network state information; sending second messages from the first application to the plurality of digital processing devices to enable network activity of the first application endpoint and the second application endpoint; generating one or more signals to coordinate a restarting of (i) the first application endpoint in one of the first of the plurality of digital processing devices and a third of the plurality of digital processing devices and (ii) the second application endpoint in one of the second of the plurality of digital processing devices and a fourth of the plurality of digital processing devices; and restarting the first application endpoint and the second application endpoint using stored process information.