Efficient live-migration of remotely accessed data
AssigneeGoogle Inc.
InventorTyler Sanderson
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for migrating data from a first storage system to a second storage system. That data is for a process (e.g., a virtual machine, application, or some other process) operating on a computer system that is separate from the first storage system and the second storage system. That data is stored according to data subsets that are each exclusive of each other. As each data set is migrated, access to the data set by the process is precluded, but access for the remaining data sets is not affected. Once the data migration is complete, access to the data set by the process is restored.
Claims17
A method performed by a data processing system comprising a plurality of physical machines, the method comprising:
- storing, in a first physical machine, data for a data processing process running on a second physical machine that is separate from the first physical machine, the storing data comprising storing the data according to a plurality of data subsets that are each exclusive of each other, wherein an address range for the data subset on the first physical machine is mapped to a respective logical address range for the data processing process;
- enabling, for the data processing process, read and write access to the data by the data processing process according to the logical addressing;
- determining that a first data subset stored on the first physical machine is to be migrated to a third physical machine separate from the first physical machine and the second physical machine, and in response:
- blocking read and write access by the data processing process to the first data subset while maintaining read and write access by the data processing process to the other data subsets;
- and
- migrating, from the first physical machine to the third physical machine, the first data subset to store the data subset on the third physical machine.
A storage machine in a distributed computing system, comprising:
- a computer;
- and
- a non-transitory data storage;
- and
- a memory storing instructions executable by the compute and that upon such execution cause the storage machine to perform operations comprising:
- storing, in the storage machine, data for a data processing process running on a physical machine that is separate from the storage machine, the storing data comprising storing the data according to a plurality of data subsets that are each exclusive of each other, wherein an address range for the data subset on the storage machine is mapped to a respective logical address range for the data processing process;
- enabling, for the data processing process, read and write access to the data by the data processing process according to the logical addressing;
- determining that a first data subset stored on the storage machine is to be migrated to a second storage machine separate from the storage machine and the physical machine, and in response:
- blocking read and write access by the data processing process to the first data subset while maintaining read and write access by the data processing process to the other data subsets;
- and
- migrating, from the storage machine to the second storage machine, the first data subset to store the data subset on the third physical machine.
Dependencies are inferred from the claim text.