Design and Implementation for Checkpointing of Distributed Resources Using Process-Level Virtualization