IP Library Granted Patent US 8,914,785
Granted Patent B2
US 8,914,785 · App. 13/562,138 · Granted Dec 16, 2014

Providing virtual appliance system firmware images

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,914,785
App. No.
13/562,138
Granted
Dec 16, 2014
Kind
B2
Abstract

A virtual appliance may be provided with firmware images that may be simulated in a run-time environment prior to loading into a network component. A kernel may be mapped to a virtual appliance image providing a virtual operating system image. Updates to the virtual appliance may provide updated versions of the virtual operating system image by mapping the updated virtual appliance image to an updated kernel. Various versions of the virtual operating system image may be stored and loaded into the virtual appliance without needing to downgrade a previous version of the operating system.

Claims (42)

1. A host machine, comprising:

a central processing unit (CPU);

a storage area connected to the CPU wherein the storage area includes:

a first virtual operating system (OS) image, the first virtual OS image includes:

a virtual appliance image including application data and operating system libraries associated with a virtual appliance, and

a kernel corresponding to the virtual appliance image, wherein the kernel is mapped the application data and the operating system libraries of the virtual appliance, wherein a modification to the application data or to the operating system libraries provides a second virtual OS image, the second virtual OS image including an updated kernel updated in response to a modification in the virtual appliance and an updated virtual appliance image provided in response to the modification in the virtual appliance; and

memory in communication with the CPU and the storage area, the memory including a boot loader configured to:

initialize start-up using the kernel, and

load either the first virtual OS image or the second virtual OS image into the virtual appliance.

2. The host machine of claim 1 , wherein the host machine is a server or a switch.

3. The host machine of claim 2 , wherein the server or switch is virtual.

4. A system, comprising:

a virtual appliance including a virtual appliance image for operating the virtual appliance;

a kernel generator configured to provide a kernel mapped to the virtual appliance image; and

a boot loader configured to load the kernel and the virtual appliance image as a first virtual operating system (OS) image into the virtual appliance;

a processor configured to:

update the kernel in response to a modification in the virtual appliance;

update the virtual appliance image in response to the modification in the virtual appliance;

provide a second virtual OS image including the updated kernel and the updated virtual appliance image; and

load either the first virtual OS image or the second virtual OS image into the virtual appliance, and

a shared storage area in a tangible storage medium configured to store a plurality of virtual OS image versions, the plurality of virtual OS image versions including respectively distinct versions of the kernel.

5. The system of claim 4 , wherein the shared storage area is a virtual disk.

6. The system of claim 4 , wherein the plurality of virtual OS image versions are each identified according to a slot occupied in the shared storage area.

7. The system of claim 4 , wherein the virtual appliance image includes application data of an application being run on the virtual appliance.

8. The system of claim 7 , wherein the virtual appliance image includes an operating system library.

9. The system of claim 8 , wherein the virtual appliance includes an updated version of the virtual OS image when a modification occurs in the operating system library.

10. A computer program product for loading an operating system into a networking component, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code being configured to:

produce a virtual appliance image of a virtual appliance;

map a kernel to the virtual appliance image;

provide a first virtual operating system (OS) image of the virtual appliance including the virtual appliance image and the kernel;

update the kernel in response to a modification in the virtual appliance;

update the virtual appliance image in response to the modification in the virtual appliance;

provide a second virtual OS image including the updated kernel and the updated virtual appliance image; and

load either the first virtual OS image or the second virtual OS image into the virtual appliance.

11. The computer program product of claim 10 , wherein the modification in the virtual appliance occurs in an operating system library.

12. The computer program product of claim 10 , the computer readable program code being configured:

to store a plurality of versions of the virtual OS image;

identify a selected version of the virtual OS image for loading; and

load a kernel associated with the selected version of the virtual OS image.

13. The computer program product of claim 12 , wherein the plurality of versions of the virtual OS image are stored as slots in a common storage area and identified for selection according to a slot identifier.

14. The computer program product of claim 10 , wherein the virtual appliance image is of firmware configured for use in a network switch.

15. The computer program product of claim 12 , wherein each kernel associated with each of the plurality of virtual OS images is distinct from each other kernel.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2012
From: BUSWELL, JOHN I.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028678/0984 →