IP Library Granted Patent US 9,292,275
Granted Patent B2
US 9,292,275 · App. 13/959,146 · Granted Mar 22, 2016

System and method for upgrading kernels in cloud computing environments

Inventor: Peter Bowen (Ontario, CA)
Assignee: Novell, Inc.
G06F8/65G06F8/67G06F9/45558
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 9,292,275
App. No.
13/959,146
Granted
Mar 22, 2016
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 (48)

1. A computer-implemented method of providing kernel-supported root file systems in cloud computing environments, the method being implemented by a computer system that includes a temporary file system, a root file system, a kernel for the root file system, and one or more physical processors, the method comprising:

identifying, by the one or more physical processors executing computer program instructions of the temporary file system, an operating system release associated with the kernel;

determining, by the one or more physical processors executing computer program instructions of the temporary file system, whether the root file system includes a directory hierarchy that corresponds to the operating system release;

obtaining, by the one or more physical processors executing computer program instructions of the temporary file system, one or more kernel modules that support the operating system release in response to a determination that the root file system does not include the directory hierarchy;

creating, by the one or more physical processors executing computer program instructions of the temporary file system, the directory hierarchy in the root file system in response to the determination that the root file system does not include the directory hierarchy; and

providing, by the one or more physical processors executing computer program instructions of the temporary file system, the one or more kernel modules in the root file system based on the directory hierarchy.

2. The computer-implemented method of claim 1 , wherein the root file system and the kernel are at least part of a virtual machine hosted in a cloud computing environment.

3. The computer-implemented method of claim 2 , wherein the root file system, the kernel, and a ramdisk that includes the temporary file system are at least part of the virtual machine hosted in the cloud computing environment.

4. The computer-implemented method of claim 1 , wherein providing the one or more kernel modules in the root file system comprises providing the one or more kernel modules in the root file system based on the directory hierarchy without rebuilding the root file system.

5. The computer-implemented method of claim 1 , wherein identifying the operating system release comprises identifying the operating system release in response to a booting of the kernel.

6. The computer-implemented method of claim 1 , further comprising:

mounting, by the one or more physical processors executing computer program instructions of the temporary file system, the root file system,

wherein providing the one or more kernel modules in the root file system comprises providing the one or more kernel modules in the root file system prior to the mounting.

7. The computer-implemented method of claim 1 , further comprising:

identifying, by the one or more physical processors executing computer program instructions of the temporary file system, an environment used to build the kernel,

wherein obtaining the one or more kernel modules comprises obtaining the one or more kernel modules based on the identification of the environment.

8. The computer-implemented method of claim 7 , wherein the one or more kernel modules correspond to the environment.

9. The computer-implemented method of claim 1 , further comprising:

identifying, by the one or more physical processors executing computer program instructions of the temporary file system, an environment used to build the kernel;

determining, by the one or more physical processors executing computer program instructions of the temporary file system, whether one or more second kernel modules in the root file system correspond to the environment; and

obtaining, by the one or more physical processors executing computer program instructions of the temporary file system, the one or more kernel modules in response to a determination that the one or more second kernel modules do not correspond to the environment.

10. The computer-implemented method of claim 9 , wherein determining whether the one or more second kernel modules correspond to the environment comprises determining whether the one or more second kernel modules correspond to the environment in response to a determination that the root file system does include the directory hierarchy.

11. A system for providing kernel-supported root file systems in cloud computing environments, the system comprising:

a root file system;

a kernel for the root file system;

a temporary file system that includes computer program instructions;

one or more physical processors programmed to execute the computer program instructions of the temporary file system which, when executed, cause the one or more physical processors to:

identify an operating system release associated with the kernel;

determine whether the root file system includes a directory hierarchy that corresponds to the operating system release;

obtain one or more kernel modules that support the operating system release in response to a determination that the root file system does not include the directory hierarchy;

create the directory hierarchy in the root file system in response to the determination that the root file system does not include the directory hierarchy; and

provide the one or more kernel modules in the root file system based on the directory hierarchy.

12. The system of claim 11 , wherein the root file system and the kernel are at least part of a virtual machine hosted in a cloud computing environment.

13. The system of claim 12 , wherein the root file system, the kernel, and a ramdisk that includes the temporary file system are at least part of the virtual machine hosted in the cloud computing environment.

14. The system of claim 11 , wherein providing the one or more kernel modules in the root file system comprises providing the one or more kernel modules in the root file system based on the directory hierarchy without rebuilding the root file system.

15. The system of claim 11 , wherein identifying the operating system release comprises identifying the operating system release in response to a booting of the kernel.

16. The system of claim 11 , wherein the one or more physical processors are caused to:

mount the root file system,

wherein providing the one or more kernel modules in the root file system comprises providing the one or more kernel modules in the root file system prior to the mounting.

17. The system of claim 11 , wherein the one or more physical processors are caused to:

identify an environment used to build the kernel,

wherein obtaining the one or more kernel modules comprises obtaining the one or more kernel modules based on the identification of the environment.

18. The system of claim 17 , wherein the one or more kernel modules correspond to the environment.

19. The system of claim 11 , wherein the one or more physical processors are caused to:

identify an environment used to build the kernel;

determine whether one or more second kernel modules in the root file system correspond to the environment; and

obtain the one or more kernel modules in response to a determination that the one or more second kernel modules do not correspond to the environment.

20. The system of claim 19 , wherein determining whether the one or more second kernel modules correspond to the environment comprises determining whether the one or more second kernel modules correspond to the environment in response to a determination that the root file system does include the directory hierarchy.

Assignments (11)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2013
From: BOWEN, PETER
To: NOVELL, INC.
Reel/Frame 030942/0925 →
Continuity (2)
Continuation 12769357 · Apr 28, 2010
Related Publication 20130318515A1 · Nov 28, 2013