Patent ID: 8266636

Claim:
A computer implemented method for migrating a workload partition, the computer implemented method comprising: responsive to receiving a request to checkpoint the workload partition on a first data processing system, generating, by a checkpoint process, a list of a set of virtual identifiers used by the workload partition to refer to a set of inter-process communication (IPC) objects, wherein each virtual identifier of the set of virtual identifiers corresponds to an IPC object of the set of IPC objects and to a real identifier used by a kernel that corresponds to the IPC object, wherein the list comprises all the virtual identifiers for at least one of IPC semaphore objects of the workload partition, IPC message queue objects of the workload partition, and IPC shared memory objects of the workload partition; storing the list in a data repository; storing attributes for each one of IPC semaphore objects, IPC message queue objects, and IPC shared memory objects on the list in a data structure; collecting IPC object data and control information for each IPC object in the list, forming collected data; storing the collected data in the data repository; storing, by each process in the workload partition, per process data in the data repository; responsive to receiving a request to restart the workload partition on a second data processing system, registering, by a restart process, the virtual identifier stored in the data repository that the workload partition wants to be used for a new IPC object to be created on the second data processing system to form a registered virtual identifier; creating the new IPC object by a kernel on the second data processing system; mapping, by the kernel, a real identifier used by the kernel associated with the new IPC object to the registered virtual identifier; retrieving, by the restart process, the collected data from the data repository associated with the registered virtual identifier; overlaying the collected data on the new IPC object; and restoring per process data from the data repository of each process in the workload partition.