IP Library › Granted Patent US 12,481,493
Granted Patent B2
US 12,481,493 · App. 18/425,223 · Granted Nov 25, 2025

Managing out of band software updates

Inventors: Rajaravi Chandra Kollarapu (Allen, TX); Vinodkumar Vasudev Ottar (Mckinney, TX); Adolfo Sandor Montero (Pflugerville, TX); Richard M. Tonry (Georgetown, TX); Abeye Teshome (Austin, TX); Luis Antonio Valencia Reyes (Waxahachie, TX); Bassem El-Azzami (Austin, TX); Mohit Arora (Frisco, TX)
Assignee: Dell Products L.P.
G06F8/65
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,481,493
App. No.
18/425,223
Filed
Jan 29, 2024
Granted
Nov 25, 2025
Kind
B2
Examiner
LEE, MARINA
Art Unit
2192
USPC
717/169
Abstract

Methods and systems for updating a data processing system are disclosed. To update the data processing system, an out of band communication channel may be used by a management controller of the data processing system to: obtain a command, and based on the command, obtain an update package from a remote entity for updating the data processing system. The management controller may store the update package in a partition using local side band communication channels. After the update package is stored, the management controller may initiate a restart of the data processing system. During the restart, if the update package is determined to be in the partition, a startup management entity may use the update package to update operation of a component to obtain an updated component. After completion of the restart, the updated component may be used to provide desired computer implemented services.

Claims (58)

1 . A method for updating a data processing system of a distributed system, the method comprising:

obtaining, by a management controller of the data processing system, a command to update the data processing system from an orchestrator of the distributed system;

obtaining, by the data processing system and based on the command, an update package for updating the data processing system, the update package being obtained from a remote entity of the distributed system;

storing, by the management controller, the update package in a partition hosted by a storage device of hardware resources of the data processing system;

initiating, by the management controller and after the update package is stored in the partition, a restart of the data processing system; and

during the restart:

making, by a startup management entity hosted by the hardware resources, a determination regarding whether any update package is stored in the partition;

in a first instance of the determination where the update package is stored in the partition:

updating, by the startup management entity, operation of at least one component hosted by the hardware resources using the update package to obtain an updated at least one component; and

providing, by the hardware resources and after completion of the restart, desired computer implemented services using the updated at least one component.

2 . The method of claim 1 , further comprising:

in a second instance of the determination where no update package is in the partition:

completing, by the startup management entity, the restart; and

providing, by the hardware resources, other computer implemented services using the at least one component.

3 . The method of claim 1 , wherein the command indicates that the management controller is to install the update package.

4 . The method of claim 3 , wherein the update package comprises executable computer code that when executed updates the at least one component to obtain the updated at least one component.

5 . The method of claim 4 , wherein the partition comprises a portion of storage resources of the hardware resources.

6 . The method of claim 5 , wherein storing the update package comprises sending, over a side band communication channel and by the management controller, the update package to at least one storage device of the storage resources that supports the partition.

7 . The method of claim 1 , wherein initiating the restart comprises sending, by the management controller and via a side band communication channel, a request to perform the restart.

8 . The method of claim 1 , wherein the data processing system comprises a network module adapted to separately advertise network endpoints for the management controller and the hardware resources, the network endpoints being usable by storage resources to address communications to the hardware resources and the management controller.

9 . The method of claim 8 , wherein the management controller and the network module are on separate power domains from the hardware resources so that the management controller and the network module are operable while the hardware resources are inoperable.

10 . The method of claim 8 , wherein an out of band communication channel runs through the network module, and an in-band communication channel that services the hardware resources also runs through the network module.

11 . The method of claim 10 , wherein the management controller hosts a transmission control protocol/internet protocol (TCP/IP) stack to facilitate network communications via the out of band communication channel.

12 . A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for updating a data processing system of a distributed system, the operations comprising:

obtaining, by a management controller of the data processing system, a command to update the data processing system from an orchestrator of the distributed system;

obtaining, by the data processing system and based on the command, an update package for updating the data processing system, the update package being obtained from a remote entity of the distributed system;

storing, by the management controller, the update package in a partition hosted by a storage device of hardware resources of the data processing system;

initiating, by the management controller and after the update package is stored in the partition, a restart of the data processing system; and

during the restart:

making, by a startup management entity hosted by the hardware resources, a determination regarding whether any update package is stored in the partition;

in a first instance of the determination where the update package is stored in the partition:

updating, by the startup management entity, operation of at least one component hosted by the hardware resources using the update package to obtain an updated at least one component; and

providing, by the hardware resources and after completion of the restart, desired computer implemented services using the updated at least one component.

13 . The non-transitory machine-readable medium of claim 12 , wherein the operations further comprise:

in a second instance of the determination where no update package is in the partition:

completing, by the startup management entity, the restart; and

providing, by the hardware resources, other computer implemented services using the at least one component.

14 . The non-transitory machine-readable medium of claim 12 , wherein the partition comprises a portion of storage resources of the hardware resources.

15 . The non-transitory machine-readable medium of claim 14 , wherein storing the update package comprises sending, over a side band communication channel and by the management controller, the update package to at least one storage device of the storage resources that supports the partition.

16 . The non-transitory machine-readable medium of claim 12 , wherein initiating the restart comprises sending, by the management controller and via a side band communication channel, a request to perform the restart.

17 . A data processing system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations for updating a data processing system of a distributed system, the operations comprising:

obtaining, by a management controller of the data processing system, a command to update the data processing system from an orchestrator of the distributed system;

obtaining, by the data processing system and based on the command, an update package for updating the data processing system, the update package being obtained from a remote entity of the distributed system;

storing, by the management controller, the update package in a partition hosted by a storage device of hardware resources of the data processing system;

initiating, by the management controller and after the update package is stored in the partition, a restart of the data processing system; and

during the restart:

making, by a startup management entity hosted by the hardware resources, a determination regarding whether any update package is stored in the partition;

in a first instance of the determination where the update package is stored in the partition:

updating, by the startup management entity, operation of at least one component hosted by the hardware resources using the update package to obtain an updated at least one component; and

providing, by the hardware resources and after completion of the restart, desired computer implemented services using the updated at least one component.

18 . The data processing system of claim 17 , wherein the operations further comprise:

in a second instance of the determination where no update package is in the partition:

completing, by the startup management entity, the restart; and

providing, by the hardware resources, other computer implemented services using the at least one component.

19 . The data processing system of claim 17 , wherein the partition comprises a portion of storage resources of the hardware resources.

20 . The data processing system of claim 19 , wherein storing the update package comprises sending, over a side band communication channel and by the management controller, the update package to at least one storage device of the storage resources that supports the partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2024
From: KOLLARAPU, RAJARAVI CHANDRA; OTTAR, VINODKUMAR VASUDEV; MONTERO, ADOLFO SANDOR; TONRY, RICHARD M.; TESHOME, ABEYE; VALENCIA REYES, LUIS ANTONIO; EL-AZZAMI, BASSEM; ARORA, MOHIT
To: DELL PRODUCTS L.P.
Reel/Frame 066428/0843 →
Continuity (1)
Related Publication 20250244986A1 · Jul 31, 2025
References Cited (36)
US 8042182B2 · Milani Comparetti et al. · 2011 [cited by applicant]
US 8474016B2 · Charley · 2013 [cited by applicant]
US 8615785B2 · Elrod et al. · 2013 [cited by applicant]
US 8924620B2 · Harriman et al. · 2014 [cited by applicant]
US 9215244B2 · Ayyagari et al. · 2015 [cited by applicant]
US 9529602B1 · Swierk · 2016 [cited by applicant]
US 9734169B2 · Redlich et al. · 2017 [cited by applicant]
US 10176308B2 · Mintz et al. · 2019 [cited by applicant]
US 10298670B2 · Ben-Shaul et al. · 2019 [cited by applicant]
US 10671765B2 · Swierk et al. · 2020 [cited by applicant]
US 11036902B2 · Nicholas · 2021 [cited by applicant]
US 11102122B2 · Seed et al. · 2021 [cited by applicant]
US 11134380B2 · Fox et al. · 2021 [cited by applicant]
US 11487274B2 · Valder et al. · 2022 [cited by applicant]
US 11792267B2 · Kreiner et al. · 2023 [cited by applicant]
US 12306708B2 · Thiruchengode Vajravel · 2025 [cited by examiner]
US 20110087387A1 · Safa-Bakhsh et al. · 2011 [cited by applicant]
US 20120266259A1 · Lewis · 2012 [cited by applicant]
US 20130019239A1 · Fontignie · 2013 [cited by applicant]
US 20140101653A1 · Dharmadhikari · 2014 [cited by examiner]
US 20140208133A1 · Gopal · 2014 [cited by examiner]
US 20140304497A1 · Park · 2014 [cited by applicant]
US 20170357515A1 · Bower, III · 2017 [cited by applicant]
US 20180039946A1 · Bolte et al. · 2018 [cited by applicant]
US 20180082065A1 · Liu · 2018 [cited by applicant]
US 20180137284A1 · Oh · 2018 [cited by applicant]
US 20190384917A1 · Shah · 2019 [cited by applicant]
US 20210034048A1 · Hajizadeh · 2021 [cited by applicant]
US 20210073211A1 · Wright, Sr. · 2021 [cited by applicant]
US 20210397716A1 · Kovah · 2021 [cited by applicant]
US 20220038659A1 · Michel · 2022 [cited by applicant]
US 20230246827A1 · Luciani, Jr. · 2023 [cited by applicant]
US 20230325535A1 · Sharma · 2023 [cited by applicant]
US 20230342446A1 · Reddy · 2023 [cited by applicant]
US 20240070329A1 · York · 2024 [cited by applicant]
WO 2024102715A1 · 2024 [cited by applicant]