IP Library Granted Patent US 11,675,580
Granted Patent B2
US 11,675,580 · App. 17/218,987 · Granted Jun 13, 2023

Image-based operating system upgrade process

Inventor: Niranjan Hettiwatte (Phoenix, AZ)
Assignee: Virtustream IP Holding Company LLC
G06F8/65G06F9/44505G06F9/45558G06F11/3668G06F2009/45562
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 11,675,580
App. No.
17/218,987
Granted
Jun 13, 2023
Kind
B2
Abstract

An apparatus comprises at least one processing device coupled to memory. The at least one processing device is configured to obtain an operating system image from a production server or other computing device and to implement a first operating system configuration on a non-production server, a test server or other type of server based at least in part on the operating system image. The at least one processing device is further configured to modify the first operating system configuration to generate a second operating system configuration on the server and to generate a modified operating system image-based at least in part on the second operating system configuration. The at least one processing device is further configured to provide the modified operating system image to the computing device.

Claims (70)

1. An apparatus comprising:

at least one processing device coupled to memory, the at least one processing device being configured:

to obtain an operating system image from a computing device;

to implement a first operating system configuration on a server based at least in part on the operating system image, wherein implementing the first operating system configuration on the server comprises instantiating a first virtual machine on the server utilizing the operating system image to provide the first operating system configuration for the first virtual machine on the server;

to modify the first operating system configuration to generate a second operating system configuration for the first virtual machine on the server, the second operating system configuration for the first virtual machine comprising a modified version of the first operating system configuration for the first virtual machine;

to generate a modified operating system image based at least in part on the second operating system configuration; and

to provide the modified operating system image to the computing device;

wherein modifying the first operating system configuration comprises modifying at least one of a plurality of partitions of the first operating system configuration;

wherein modifying the at least one of the plurality of partitions comprises changing a partition type of a first one of the partitions from a first partition type to a second partition type different than the first partition type, one of the first and second partition types comprising a non-volume-based partition type and the other of the first and second partition types comprising a volume-based partition type;

wherein modifying at least one of the plurality of partitions of the first operating system configuration further comprises modifying a size of a first one of the partitions of the first operating system configuration based in part on the size of the first one of the partitions being below a designated threshold in the first operating system configuration;

wherein the server obtains the operating system image from the computing device and provides the modified operating system image to the computing device, and the server is implemented on at least one first processing device and the computing device is implemented on at least one second processing device, the at least one first processing device being separate from the at least one second processing device; and

wherein the obtaining, implementing, modifying, generating and providing are performed by the server without interrupting production operation of the computing device.

2. The apparatus of claim 1 wherein:

the computing device implements the first operating system configuration;

the operating system image is generated by the computing device based at least in part on the first operating system configuration implemented on the computing device; and

the computing device is configured to replace the first operating system configuration with the second operating system configuration on the computing device based at least in part on the modified operating system image.

3. The apparatus of claim 1 wherein the at least one first processing device is further configured to perform verification testing on the second operating system configuration on the server.

4. The apparatus of claim 3 wherein:

implementing the first operating system configuration on the server comprises generating the first virtual machine on the server based at least in part on the operating system image;

the at least one processing device is further configured to implement the second operating system configuration on the server by generating a second virtual machine on the server based at least in part on the modified operating system image; and

performing the verification testing on the second operating system configuration on the server comprises performing the verification testing on the second operating system configuration on the second virtual machine on the server.

5. The apparatus of claim 1 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying one or more partition tables for the first operating system configuration.

6. The apparatus of claim 1 wherein the non-volume-based partition type comprises a raw partition type and the volume-based partition type comprises a Logical Volume Manager (LVM) partition type.

7. The apparatus of claim 1 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying a size of a boot partition.

8. A method comprising:

obtaining an operating system image from a computing device;

implementing a first operating system configuration on a server based at least in part on the operating system image, wherein implementing the first operating system configuration on the server comprises instantiating a first virtual machine on the server utilizing the operating system image to provide the first operating system configuration for the first virtual machine on the server;

modifying the first operating system configuration to generate a second operating system configuration for the first virtual machine on the server, the second operating system configuration for the first virtual machine comprising a modified version of the first operating system configuration for the first virtual machine;

generating a modified operating system image based at least in part on the second operating system configuration; and

providing the modified operating system image to the computing device;

wherein modifying the first operating system configuration comprises modifying at least one of a plurality of partitions of the first operating system configuration;

wherein modifying the at least one of the plurality of partitions comprises changing a partition type of a first one of the partitions from a first partition type to a second partition type different than the first partition type, one of the first and second partition types comprising a non-volume-based partition type and the other of the first and second partition types comprising a volume-based partition type;

wherein modifying at least one of the plurality of partitions of the first operating system configuration further comprises modifying a size of a first one of the partitions of the first operating system configuration based in part on the size of the first one of the partitions being below a designated threshold in the first operating system configuration;

wherein the server obtains the operating system image from the computing device and provides the modified operating system image to the computing device, and the server is implemented on at least one first processing device and the computing device is implemented on at least one second processing device, the at least one first processing device being separate from the at least one second processing device;

wherein the obtaining, implementing, modifying, generating and providing are performed by the server without interrupting production operation of the computing device; and

wherein the method is implemented by at least one processing device coupled to memory.

9. The method of claim 8 wherein:

the computing device implements the first operating system configuration;

the operating system image is generated by the computing device based at least in part on the first operating system configuration implemented on the computing device; and

the computing device is configured to replace the first operating system configuration with the second operating system configuration on the computing device based at least in part on the modified operating system image.

10. The method of claim 8 wherein the at least one first processing device is further configured to perform verification testing on the second operating system configuration on the server.

11. The method of claim 10 wherein:

implementing the first operating system configuration on the server comprises generating the first virtual machine on the server based at least in part on the operating system image;

the method further comprises implementing the second operating system configuration on the server by generating a second virtual machine on the server based at least in part on the modified operating system image; and

performing the verification testing on the second operating system configuration on the server comprises performing the verification testing on the second operating system configuration on the second virtual machine on the server.

12. The method of claim 8 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying one or more partition tables for the first operating system configuration.

13. The method of claim 8 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying a size of a boot partition.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device, the at least one processing device comprising a processor coupled to memory, causes the at least one processing device:

to obtain an operating system image from a computing device;

to implement a first operating system configuration on a server based at least in part on the operating system image, wherein implementing the first operating system configuration on the server comprises instantiating a first virtual machine on the server utilizing the operating system image to provide the first operating system configuration for the first virtual machine on the server;

to modify the first operating system configuration to generate a second operating system configuration for the first virtual machine on the server, the second operating system configuration for the first virtual machine comprising a modified version of the first operating system configuration for the first virtual machine;

to generate a modified operating system image based at least in part on the second operating system configuration; and

to provide the modified operating system image to the computing device;

wherein modifying the first operating system configuration comprises modifying at least one of a plurality of partitions of the first operating system configuration;

wherein modifying the at least one of the plurality of partitions comprises changing a partition type of a first one of the partitions from a first partition type to a second partition type different than the first partition type, one of the first and second partition types comprising a non-volume-based partition type and the other of the first and second partition types comprising a volume-based partition type;

wherein modifying at least one of the plurality of partitions of the first operating system configuration further comprises modifying a size of a first one of the partitions of the first operating system configuration based in part on the size of the first one of the partitions being below a designated threshold in the first operating system configuration;

wherein the server obtains the operating system image from the computing device and provides the modified operating system image to the computing device, and the server is implemented on at least one first processing device and the computing device is implemented on at least one second processing device, the at least one first processing device being separate from the at least one second processing device; and

wherein the obtaining, implementing, modifying, generating and providing are performed by the server without interrupting production operation of the computing device.

15. The computer program product of claim 14 wherein:

the computing device implements the first operating system configuration;

the operating system image is generated by the computing device based at least in part on the first operating system configuration implemented on the computing device; and

the computing device is configured to replace the first operating system configuration with the second operating system configuration on the computing device based at least in part on the modified operating system image.

16. The computer program product of claim 14 wherein the at least one first processing device is further configured to perform verification testing on the second operating system configuration on the server.

17. The computer program product of claim 16 wherein:

implementing the first operating system configuration on the server comprises generating the first virtual machine on the server based at least in part on the operating system image;

the program code further causes the at least one processing device to implement the second operating system configuration on the server by generating a second virtual machine on the server based at least in part on the modified operating system image; and

performing the verification testing on the second operating system configuration on the server comprises performing the verification testing on the second operating system configuration on the second virtual machine on the server.

18. The computer program product of claim 14 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying one or more partition tables for the first operating system configuration.

19. The computer program product of claim 14 wherein the non-volume-based partition type comprises a raw partition type and the volume-based partition type comprises a Logical Volume Manager (LVM) partition type.

20. The computer program product of claim 14 wherein modifying a size of the first one of the partitions of the first operating system configuration comprises modifying a size of a boot partition.

Assignments (2)
MERGER Recorded Sep 16, 2025
From: VIRTUSTREAM IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 072878/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: HETTIWATTE, NIRANJAN
To: VIRTUSTREAM IP HOLDING COMPANY LLC
Reel/Frame 055785/0532 →