Coordinated Cloud Image Creation
Publication Date: 2017-Jun-29
The IP.com Prior Art Database
By employing a naming convention for Image LUs, and a system of markers
indicating uploads in progress, a given thread can determine if an Image
LU for a given source image is already present on the SSP, or being
created by another thread, even if that thread is on a different host.
However, we also need to account for the fact that an Image LU can't be
used until it has been fully populated.
Coordinated Cloud Image Creation
By employing a naming convention for Image LUs and a system of markers indicating uploads
in progress, a given thread can determine if an Image LU for a given source image is already
present on the SSP or being created by another thread, even if that thread is on a different host.
However, one also needs to account for the fact that an Image LU can't be used until it has been
Shared Storage Pool (SSP): For the purposes of this document, the term SSP will be used to
represent any storage technology with the following characteristics:
- The storage medium itself is accessible from multiple servers, which may not otherwise have
any mechanisms for communicating with one another.
- The technology supports thin clones.
The existing embodiment of this invention uses PowerVM Shared Storage Pools, wherein a
group of collaborating Virtual I/O Servers (VIOSes) shares storage, typically hosted from a
Storage Area Network (SAN), and is able to carve out LUs that can be accessed from/through
any of the VIOSes.
Logical Unit (LU): A virtual disk created by the SSP on the storage medium, which can be
presented to a Virtual Machine (VM) in such a way that it appears as a physical hdisk to the VM.
This document uses the term "LU" to refer to any virtual disk hosted by the storage technology.
Image LU: A particular type of Logical Unit used to store a disk image. An Image LU typically
consumes an amount of space on the storage medium equivalent to the size of the image it is
storing. The Image LU is read-only once it has been created and populated.
Thin Clone LU (Thin Clone): A particular type of Logical Unit used as a (bootable and/or data)
read-write disk by a VM. A Thin Clone is backed by an Image LU in such a way that data from
the Image LU need not exist in the Thin Clone itself unless it is modified. This may be
accomplished by means of Copy-On-Write (COW) technology. A Thin Clone typically
consumes only a tiny fraction of the back-end storage space of its backing Image LU, though it
still appears to the VM as though it has the full size of the Image LU.
MD5 hash: A 128-bit checksum of a data blob, often represented as a 32-character hexadecimal
string. The MD5 algorithm is such that it always produces the same result for the same data
blob; and the probability of two different data blobs having the same MD5 hash is infinitesimal.
Image LUs are named according to a convention such that the name includes the MD5 hash of
the image, as a 32-character hexadecimal string. (Note that any similarly robust hashing
algorithm could be used.) Thread B first lists the Image LUs on the SSP, and if it finds one with
that MD5 hash, it uses it (creates a Thin Clone against it). If no such Image LU exists, thread B
attempts to create and populate it,subject to the algorithm further described below.
When an Image LU is first created, it is empty; it needs to be populated with the data from the
source image. This...