Browse Prior Art Database

Method of upgrade images automatically in a cloud environment

IP.com Disclosure Number: IPCOM000219767D
Publication Date: 2012-Jul-12
Document File: 8 page(s) / 147K

Publishing Venue

The IP.com Prior Art Database

Abstract

In a cloud world, most of the images are composite images, they are combination of other base images. So upgrade one image is difficult because all the other image contain this image should also be upgraded. This article introduce a method of upgrade images automatically in a cloud environment. The system create master table for base image and child table for composite image. These tables are used to track the relationship between images. When base image upgrade, image provider need prepare a upgrade script and put it in cloud, then when each image is used or referenced, the image will run the script and be upgraded.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 37% of the total text.

Page 01 of 8

Method of upgrade images automatically in a cloud environment

In a cloud world, we use images to provision instances. And we can also capture a running instance to build an image. When we need to upgrade an image, for example apply a security patch to windows. This upgrade should apply on all the running instance that created from the windows image, and all the images that captured from the windows instance. Sometimes the situation can be more complicated. We allow user to customize his own images and instances, that means the user can combine several images into one image, or install several images on one instance and then capture it. As a result, each image or instance may be a combination of instances and images. This time the upgrade should apply on all the images and instances that contain the image, since it is hard to maintain the relationship of all the images and instances, the upgrade is a difficult task.

Instance is a kind of running image and also need upgrade. But upgrade instance is relatively easy. In the running instance, we can setup a thread to connect the homepage of image provider periodically to check if check if newer version of the software is exist. If yes, this thread can download the patch and make the upgrade. This is a mature technique and is already used in lot of software such as windows. However, upgrade images is not straight forward. So in this disclosure we focus on how to upgrade images in the cloud environment.

Now there are2 known solutions to upgrade images


1) We provision instance based on the images. Once we get the instance, we can upgrade it, then capture the instance to make a new image, this image is the upgraded image from the original one. This is a common method and can work well, but besides the upgrade step, we have to perform 2 more steps, that is provision and capture. These 2 steps can be very time consuming and need VM resource in cloud.


2)We first upgrade the base image, then calculate the difference between the upgraded and original image. Once we get the delta, we can send the delta to all the other images, thus all the images are upgraded. In this way we can avoid provision and capture to simplify the upgrade process. However, this method can only use to upgrade the "pure" image, which mean the image without other images or instances attached. Because once the image is attached by others, it should not be the same as the original image, and the delta can not apply.

So in this disclosure, we invent a new approach to upgrade the images in cloud, it can apply to a composite image and still do not need the extra provision and capture steps.

In this disclosure, we will maintain an image table in the cloud server. In this table, we record the image id , version and the location of upgrade scripts. We call this master table, it should contain information of all the base image. Here base image means the original image provided by image providers, not the customized image which may...