IP Library Granted Patent US 10,540,172
Granted Patent B2
US 10,540,172 · App. 16/043,953 · Granted Jan 21, 2020

System, method, and apparatus for zero downtime operating system transformation

Inventors: Kenan Kessler (Kennett Square, PA); Andre Marianiello (Newark, DE); Ashish Samuel (Newark, DE)
Assignee: SevOne, Inc.
G06F8/656
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 10,540,172
App. No.
16/043,953
Granted
Jan 21, 2020
Kind
B2
Abstract

A method includes performing operations to swap a system from a first userspace to a third userspace. Operations of the method include: operating the system using the first userspace, loading a second userspace into an operating system memory space accessible to a kernel, and installing a custom init replacement. Operations of the method further include signaling an init system to execute the custom init replacement, thereby operating the system using a second userspace, loading the third userspace into a second memory location accessible to the kernel, and signaling the init system to execute the custom init replacement a second time, thereby operating the system using the third userspace.

Claims (64)

1. A method, comprising:

performing operations to swap a system from a first userspace to a third userspace, the operations comprising:

operating the system using the first userspace;

loading a second userspace into an operating system memory space accessible to a kernel;

installing a custom init replacement;

signaling an init system to execute the custom init replacement, thereby operating the system using a second userspace;

loading the third userspace into a second memory location accessible to the kernel;

signaling the init system to execute the custom init replacement a second time, thereby operating the system using the third userspace; and

operating a process having an identical process ID utilizing the first userspace, the second userspace, and the third userspace.

2. The method of claim 1 , wherein the loading a second userspace into the operating system memory space comprises loading the second userspace into a RAM disk.

3. The method of claim 1 , wherein each of the first userspace, the second userspace, and the third userspace comprise at least one portion of an operating system, wherein the at least one portion of the operating system does not include a kernel.

4. The method of claim 3 , wherein the at least one portion of the operating system comprises at least one of: an init process, a shell utility, and a server.

5. The method of claim 3 , wherein the kernel is not rebooted during the operating of any of the first userspace, the second userspace, or the third userspace.

6. The method of claim 1 , further comprising backing up the first userspace before the loading the third userspace.

7. The method of claim 6 , further comprising:

performing operations to swap the system from the third userspace to the first userspace, the operations comprising:

operating the system using the third userspace;

installing a second custom init replacement associated with the first userspace;

signaling the init system to execute the second custom init replacement, thereby operating the system using the second userspace;

loading the first userspace into the memory location accessible to the kernel; and

signaling the init system to execute the second custom init replacement a second time, thereby operating the system using the first userspace.

8. The method of claim 7 , further comprising verifying the operations of the system using the third userspace, and wherein the performing operations to swap the system from the third userspace to the first userspace is in response to the verifying.

9. The method of claim 1 , further comprising operating a plurality of processes, each having a corresponding identical process ID, utilizing the first userspace, the second userspace, and the third userspace.

10. The method of claim 1 , wherein the process comprises a database process.

11. A system, comprising:

an operating system user interface circuit structured to interpret a third userspace;

an operating system change circuit structured to perform operations to swap the system from a first userspace to the third userspace, the operations comprising:

operating the system using the first userspace;

loading a second userspace into an operating system memory space accessible to a kernel;

installing a custom init replacement;

signaling an init system to execute the custom init replacement, thereby operating the system using a second userspace;

loading the third userspace into a second memory location accessible to the kernel;

signaling the init system to execute the custom init replacement a second time, thereby operating the system using the third userspace; and

wherein the operating system change circuit is further structured to operate a process having an identical process ID utilizing the first userspace, the second userspace, and the third userspace.

12. The system of claim 11 , wherein the operating system change circuit is further structured to load a second userspace into the operating system memory space by loading the second userspace into a RAM disk.

13. The system of claim 11 , wherein each of the first userspace, the second userspace, and the third userspace comprise at least one portion of an operating system, wherein the at least one portion of the operating system does not include a kernel.

14. The system of claim 13 , wherein the at least one portion of the operating system comprises at least one of: an init process, a shell utility, and a server.

15. The system of claim 13 , wherein operating system change circuit does not reboot the kernel during the operating of any of the first userspace, the second userspace, or the third userspace.

16. The system of claim 11 , wherein the operating system change circuit is further structured to back up the first userspace before loading the third userspace.

17. The system of claim 16 , wherein the operating system change circuit is further structured to perform operations to swap the system from the third userspace to the first userspace, the operations comprising:

operating the system using the third userspace;

installing a second custom init replacement associated with the first userspace;

signaling the init system to execute the second custom init replacement, thereby operating the system using the second userspace;

loading the first userspace into the memory location accessible to the kernel; and

signaling the init system to execute the second custom init replacement a second time, thereby operating the system using the first userspace.

18. The system of claim 17 , wherein the operating system change circuit is further structured to verify the operations of the system using the third userspace, and to perform the operations to swap the system from the third userspace to the first userspace in response to the verifying.

19. A method, comprising:

performing operations to swap a system from a first userspace comprising a Gentoo® Linux® distribution to a third userspace comprising a CentOS® Linux® distribution, the operations comprising:

operating the system using the first userspace;

loading a second userspace into an operating system memory space accessible to a Linux® kernel;

installing a custom init replacement;

signaling an init system to execute the custom init replacement, thereby operating the system using a second userspace;

backing up the first userspace;

loading the third userspace into a second memory location accessible to the kernel; and

signaling the init system to execute the custom init replacement a second time, thereby operating the system using the third userspace; and

operating a process having an identical process ID utilizing the first userspace, the second userspace, and the third userspace.

20. The method of claim 19 , further comprising:

performing operations to swap the system from the third userspace to the first userspace, the operations comprising:

operating the system using the third userspace;

installing a second custom init replacement associated with the first userspace;

signaling the init system to execute the second custom init replacement, thereby operating the system using the second userspace;

loading the first userspace into the memory location accessible to the kernel; and

signaling the init system to execute the second custom init replacement a second time, thereby operating the system using the first userspace.

21. The method of claim 20 , further comprising verifying the operations of the system using the third userspace, and wherein the performing operations to swap the system from the third userspace to the first userspace is in response to the verifying.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: SEVONE INC.
To: TURBONOMIC, INC.
Reel/Frame 060511/0339 →
RELEASE OF SECURITY INTEREST Recorded Jul 5, 2022
From: SILICON VALLEY BANK
To: SEVONE INC.
Reel/Frame 060396/0246 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PCT # US9660872, US9009185, US 88744806 PREVIOUSLY RECORDED AT REEL: 051514 FRAME: 0881. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT . Recorded Feb 17, 2022
From: SEVONE INC.
To: SILICON VALLEY BANK
Reel/Frame 059527/0272 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 051514 FRAME: 0898 . ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 17, 2022
From: SEVONE INC.
To: SILICON VALLEY BANK
Reel/Frame 059175/0162 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 8, 2020
From: SEVONE INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 051514/0898 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 8, 2020
From: SEVONE INC.
To: SILICON VALLEY BANK
Reel/Frame 051514/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2018
From: KESSLER, KENAN; MARIANIELLO, ANDRE; SAMUEL, ASHISH
To: SEVONE, INC.
Reel/Frame 046926/0967 →
Continuity (2)
Provisional Application 62536432 · Jul 24, 2017
Related Publication 20190026104A1 · Jan 24, 2019