IP Library Granted Patent US 8,505,003
Granted Patent B2
US 8,505,003 · App. 12/769,357 · Granted Aug 6, 2013

System and method for upgrading kernels in cloud computing environments

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,505,003
App. No.
12/769,357
Granted
Aug 6, 2013
Kind
B2
Abstract

The system and method described herein may upgrade kernels in cloud images deployed in cloud computing environments without having to rebuild a machine image that contains a root file system for the cloud image. For example, the cloud image may include a ramdisk that compares the kernel booted in the cloud image to the root file system to verify whether the machine image contains a directory hierarchy matching an operating system release for the kernel. In response to the machine image containing the matching directory hierarchy, the root file system may be mounted for execution in the cloud computing environment. Alternatively, in response to the machine image lacking the matching directory hierarchy, the ramdisk may dynamically create the matching directory hierarchy and inject modules that support the kernel into the root file system prior to mounting and delivering control to the root file system.

Claims (50)

1. A method for upgrading kernels in cloud computing environments, comprising:

deploying a cloud image that includes a root file system, a kernel, and a ramdisk in a cloud computing environment, wherein one or more physical resources in the cloud computing environment host the deployed cloud image; and

running computer executable instructions in the ramdisk to verify that the root file system supports the kernel in the cloud image, wherein running the computer executable instructions in the ramdisk includes:

identifying an operating system release associated with the kernel;

retrieving one or more kernel modules from a repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release;

creating the directory hierarchy in the root file system in response to the root file system not containing the directory hierarchy;

identifying an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy;

retrieving the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and

injecting the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel.

2. The method of claim 1 , wherein the cloud image further includes a hypervisor that manages the root file system independently from the kernel and the ramdisk.

3. The method of claim 1 , wherein the computer executable instructions in the ramdisk execute a uname call to identify the operating system release associated with the kernel.

4. The method of claim 1 , wherein running the computer executable instructions in the ramdisk further includes executing a vermagic call to identify the environment used to build the kernel in response to determining that the root file system containing the directory hierarchy.

5. The method of claim 1 , wherein the one or more kernel modules retrieved from the repository replaces the one or more kernel modules in the directory hierarchy.

6. The method of claim 1 , wherein running the computer executable instructions in the ramdisk further includes:

retrieving management content from the repository, wherein the management content retrieved from the repository manages a current lifecycle mode for the cloud image; and

injecting the management content retrieved from the repository within the root file system, wherein the injected management content runs in a user execution space to manage the current lifecycle mode for the cloud image.

7. The method of claim 1 , wherein the operating system release is identified in response to a booting of the kernel.

8. A system for upgrading kernels in cloud computing environments, comprising:

a cloud computing environment having a plurality of physical resources;

a repository that contains a plurality of kernel modules; and

a cloud image hosted on one or more of the plurality of physical resources in the cloud computing environment, the cloud image including a root file system, a kernel, and a ramdisk, wherein the ramdisk includes computer executable instructions configured to:

identify an operating system release associated with the kernel;

retrieve one or more of the plurality of kernel modules from the repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release;

create the directory hierarchy in the root file system in response to determining that the root file system does not contain the directory hierarchy;

identify an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy;

retrieve the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and

inject the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel.

9. The system of claim 8 , wherein the cloud image further includes a hypervisor that manages the root file system independently from the kernel and the ramdisk.

10. The system of claim 8 , wherein the computer executable instructions in the ramdisk execute a uname call to identify the operating system release associated with the kernel.

11. The system of claim 8 , wherein the ramdisk further includes computer executable instructions configured to execute a vermagic call to identify the environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy.

12. The system of claim 8 , wherein the one or more kernel modules retrieved from the repository replaces the one or more kernel modules in the directory hierarchy.

13. The system of claim 8 , wherein the ramdisk further includes computer executable instructions configured to:

retrieve management content from the repository, wherein the management content retrieved from the repository manages a current lifecycle mode for the cloud image; and

inject the management content retrieved from the repository within the root file system, wherein the injected management content runs in a user execution space to manage the current lifecycle mode for the cloud image.

14. The system of claim 8 , wherein the operating system release is identified in response to a booting of the kernel.

15. A computer readable storage medium containing a cloud image hosted on one or more physical resources in a cloud computing environment, the cloud image including a root file system, a kernel, and a ramdisk, wherein the ramdisk includes computer executable instructions configured to:

identify an operating system release associated with the kernel;

retrieve one or more kernel modules from a repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release;

create the directory hierarchy in the root file system in response to determining that the root file system does not contain the directory hierarchy;

identify an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy;

retrieve the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and

inject the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel.

16. The computer readable storage medium of claim 15 , wherein the cloud image further includes a hypervisor that manages the root file system independently from the kernel and the ramdisk.

17. The computer readable storage medium of claim 15 , wherein the computer executable instructions in the ramdisk execute a uname call to identify the operating system release associated with the kernel.

18. The computer readable storage medium of claim 15 , wherein the ramdisk further includes computer executable instructions configured to:

execute a vermagic call to identify the environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy.

19. The computer readable storage medium of claim 15 , wherein the one or more kernel modules retrieved from the repository replaces the one or more kernel modules in the directory hierarchy.

20. The computer readable storage medium of claim 15 , wherein the ramdisk further includes computer executable instructions configured to:

retrieve management content from the repository, wherein the management content retrieved from the repository manages a current lifecycle mode for the cloud image; and

inject the management content retrieved from the repository within the root file system, wherein the injected management content runs in a user execution space to manage the current lifecycle mode for the cloud image.

Assignments (19)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - 042388/0386 AND REEL/FRAME - 044183/0577 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0221 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - : 044183/0718 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2019
From: MICRO FOCUS SOFTWARE INC.
To: SUSE LLC
Reel/Frame 048379/0548 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2010
From: BOWEN, PETER
To: NOVELL, INC.
Reel/Frame 024303/0750 →