IP Library Granted Patent US 12,340,229
Granted Patent B2
US 12,340,229 · App. 17/926,664 · Granted Jun 24, 2025

Automated upgrade and fallback across multiple operating system instances

Inventors: Prasad Hiremath (Bangalore, IN); Amith Basavaraj (Bangalore, IN); Lokesh Chimbili (Bangalore, IN); Mahesh Sivapuram (Bangalore, IN); Arun Menon (Bangalore, IN)
Assignee: RAKUTEN SYMPHONY, INC.
G06F9/4406G06F21/575
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 12,340,229
App. No.
17/926,664
Granted
Jun 24, 2025
Kind
B2
Abstract

In general, the current subject matter relates to automated upgrade and fallback across multiple operating system (“OS”) instances. In some implementations, automated upgrade and fallback across multiple OS instances can include attempting to boot an OS from a first Basic Input/Output System (BIOS) pre-stored in a first partition of a memory of a communication device in a wireless communication system. The OS can run on the communication device in response to the OS booting successfully from the first BIOS, and the method can further include, in response to the OS not booting successfully from the first BIOS, automatically attempting to boot the OS from a second BIOS pre-stored in a second partition of the memory of the communication device.

Claims (56)

1. A computer-implemented method, comprising:

attempting to boot an operating system (OS) from a first Basic Input/Output System (BIOS) pre-stored in a first partition of a memory of a communication device in a wireless communication system, the attempting to boot the OS including attempting to boot a first bootloader;

wherein the OS runs on the communication device in response to the OS booting successfully from the first BIOS;

wherein the method further comprises, in response to the OS not booting successfully from the first BIOS, automatically attempting to boot the OS from a second BIOS pre-stored in a second partition of the memory of the communication device; and

wherein the method further comprises:

in response to the first bootloader boot succeeding, determining if bootloader booting has been attempted for the communication device more than a predetermined threshold number of times; and

in response to determining that the bootloader booting has not been attempted for the communication device more than the predetermined threshold number of times, attempting to load a first kernel image of the first BIOS.

2. The method of claim 1 , wherein the OS runs on the communication device in response to the OS booting successfully from the second BIOS; and

the method further comprises, in response to the OS not booting successfully from the second BIOS, automatically booting the OS from a third BIOS pre-stored in a third partition of the memory of the communication device.

3. The method of claim 2 , wherein the third BIOS was pre-stored in the third partition of the memory during manufacturing of the communication device.

4. The method of claim 3 , wherein the first BIOS and the second BIOS are each configured to be upgraded; and

the third BIOS cannot be upgraded.

5. The method of claim 1 , further comprising during the running of the OS on the communication device, upgrading the second BIOS; and

in response to the second BIOS successfully upgrading, automatically rebooting the OS from the upgraded second BIOS.

6. The method of claim 5 , further comprising, after the rebooting and during the running of the OS on the communication device, upgrading the first BIOS; and

in response to the first BIOS successfully upgrading, automatically rebooting the OS from the upgraded first BIOS.

7. The method of claim 1 , wherein the first BIOS was pre stored in the first partition of the memory during manufacturing of the communication device;

the second BIOS was pre stored in the second partition of the memory during manufacturing of the communication device;

the second BIOS is configured to be upgraded during the running of the OS booted successfully from the first BIOS; and

the first BIOS is configured to be upgraded during the running of the OS booted successfully from the second BIOS.

8. The method of claim 1 , further comprising:

in response to determining that the bootloader booting has been attempted for the communication device more than the predetermined threshold number of times, automatically attempting to boot the OS from the second BIOS.

9. The method of claim 8 , further comprising:

in response to the first kernel image of the first BIOS not successfully loading, triggering a reboot of the OS from the first BIOS;

in response to the first kernel image of the first BIOS successfully loading, attempting to load a first initrd image of the first BIOS,

in response to the first initrd image of the first BIOS not successfully loading, triggering a reboot of the OS from the first BIOS; and

in response to the first initrd image of the first BIOS successfully loading, continuing the attempt to boot the OS from the first BIOS.

10. The method of claim 8 , wherein attempting to boot the OS from the second BIOS includes attempting to boot a second bootloader; and

the method further comprises:

in response to the second bootloader boot failing, automatically booting the OS from a third BIOS pre-stored in a third partition of the memory of the communication device,

in response to the second bootloader boot succeeding, determining if bootloader booting has been attempted more than the predetermined threshold number of times,

in response to determining that the bootloader booting has not been attempted more than the predetermined threshold number of times, attempting to load a second kernel image of the second BIOS, and

in response to determining that the second bootloader booting has been attempted more than the predetermined threshold number of times, automatically attempting to boot the OS from the third BIOS.

11. The method of claim 10 , wherein the third BIOS was pre-stored in the third partition of the memory during manufacturing of the communication device.

12. The method of claim 11 , wherein the first BIOS and the second BIOS are each configured to be upgraded; and

the third BIOS cannot be upgraded.

13. The method of claim 1 , wherein the communication device is a distributed unit (DU).

14. The method of claim 1 , wherein at least one of the attempting and the automatically attempting is performed by a base station in the wireless communication system.

15. The method of claim 14 , wherein the base station includes at least one of an eNodeB base station, a gNodeB base station, a wireless base station, and any combination thereof.

16. The method of claim 1 , wherein the wireless communication system is at least one of a long term evolution communications system, a new radio communications system, and any combination thereof.

17. An apparatus, comprising:

at least one processor, and

at least one non-transitory storage media storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

attempting to boot an operating system (OS) from a first Basic Input/Output System (BIOS) pre-stored in a first partition of a memory of a communication device in a wireless communication system, the attempting to boot the OS including attempting to boot a first bootloader;

wherein the OS runs on the communication device in response to the OS booting successfully from the first BIOS;

wherein the operations further comprise, in response to the OS not booting successfully from the first BIOS, automatically attempting to boot the OS from a second BIOS pre-stored in a second partition of the memory of the communication device; and

wherein the operations further comprise:

in response to the first bootloader boot succeeding, determining if bootloader booting has been attempted for the communication device more than a predetermined threshold number of times; and

in response to determining that the bootloader booting has not been attempted for the communication device more than the predetermined threshold number of times, attempting to load a first kernel image of the first BIOS.

18. At least one non-transitory storage media storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:

attempting to boot an operating system (OS) from a first Basic Input/Output System BIOS) pre-stored in a first partition of a memory of a communication device in a wireless communication system, the attempting to boot the OS including attempting to boot a first bootloader;

wherein the OS runs on the communication device in response to the OS booting successfully from the first BIOS;

wherein the operations further comprise, in response to the OS not booting successfully from the first BIOS, automatically attempting to boot the OS from a second BIOS pre-stored in a second partition of the memory of the communication device; and

wherein the operations further comprise:

in response to the first bootloader boot succeeding, determining if bootloader booting has been attempted for the communication device more than a predetermined threshold number of times; and

in response to determining that the bootloader booting has not been attempted for the communication device more than the predetermined threshold number of times, attempting to load a first kernel image of the first BIOS.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: ALTIOSTAR NETWORKS INDIA PRIVATE LIMITED
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068023/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2022
From: HIREMATH, PRASAD; BASAVARAJ, AMITH; CHIMBILI, LOKESH; SIVAPURAM, MAHESH; MENON, ARUN
To: ALTIOSTAR NETWORKS INDIA PRIVATE LIMITED
Reel/Frame 062234/0518 →
Priority Claims (1)
IN 202241055504 · Sep 28, 2022 · national
Continuity (1)
Related Publication 20240248724A1 · Jul 25, 2024
References Cited (12)
US 8380973B2 · Cool et al. · 2013 [cited by applicant]
US 9542195B1 · Astarabadi et al. · 2017 [cited by applicant]
US 20080148038A1 · Abe et al. · 2008 [cited by applicant]
US 20140040605A1 · Futral et al. · 2014 [cited by applicant]
US 20190364036A1 · Simpson · 2019 [cited by examiner]
US 20210127294A1 · Kwak · 2021 [cited by examiner]
US 20220121751A1 · Wang · 2022 [cited by examiner]
International Search Report and Written Opinion for International Patent Application No. PCT/US22/79922 mailed Feb. 3, 2023. [cited by applicant]
Dann Frazier, efibootmgr(8)—Linux main page, available at <https://linux.die.net/man/8/efibootmgr>, dated no later than Aug. 28, 2022. [cited by applicant]
GNU Grub Manual 2.06, Version 1.2, Nov. 2002, Chapter 5.1.2 “Chain-loading an OS”. [cited by applicant]
Intelligent Platform Management Interface (IPMI) Specification Second Generation v2.0, Document Revision 1.1, Oct. 1, 2013. [cited by applicant]
Red Hat Enterprise Linux 8, Deploying and configuring single-node storage in Red Hat Enterprise Linux 8, Red Hat Customer Content Services, dated no later than Aug. 28, 2022, Chapter 20 “Setting up a remote diskless sys… [cited by applicant]