IP Library › Granted Patent US 12,210,861
Granted Patent B2
US 12,210,861 · App. 17/449,530 · Granted Jan 28, 2025

Decentralized software upgrade image distribution for network device upgrades

Inventors: Prateek Goel (Bangalore, IN); Rahamath Sharif (Bangalore, IN)
Assignee: Juniper Networks, Inc.
G06F8/65H04L67/34
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,210,861
App. No.
17/449,530
Granted
Jan 28, 2025
Kind
B2
Abstract

An example method includes receiving, by a control system for a software upgrade image, respective characterization data for network devices of a network; generating, by the control system and based on the characterization data for the network devices, an image map that indicates, for each portion of a plurality of different portions of the software upgrade image, an image proxy network device selected by the control system from among the network devices to store the portion based on the characterization data; and outputting, by the control system, the image map to a network device of the network devices to cause the network device to obtain each portion of the plurality of different portions of the software upgrade image from the corresponding image proxy network device selected by the control system to store the portion.

Claims (35)

1. A method comprising:

receiving, by a control system for a software upgrade image, respective characterization data for network devices of a network;

generating, by the control system and based on the characterization data for the network devices, an image map that indicates, for each portion of a plurality of different portions of the software upgrade image, one or more image proxy network devices assigned by the control system from among the network devices to store the portion based on the characterization data, wherein the image map indicates an order of the one or more image proxy network devices from which a network device to be upgraded should attempt to download the portion of the software upgrade image if a previous attempt fails; and

outputting, by the control system, the image map to the network device of the network devices to cause the network device to obtain each portion of the plurality of different portions of the software upgrade image from a corresponding image proxy network device of the one or more image proxy network devices assigned by the control system to store the portion.

2. The method of claim 1 , further comprising: instructing, by the control system, the network device of the network devices to be upgraded to initiate an upgrade process that obtains portions of the software upgrade image in accordance with the image map.

3. The method of claim 1 , wherein the software upgrade image is for upgrading a software component to be executed by the network device.

4. The method of claim 1 , wherein generating the image map comprises generating the image map based on at least one of the characterization data upon which the generating the image map is based comprises one or more selected from the group consisting of: a topology of the network, a distance of the network devices to a location where the software upgrade image is stored, and an amount of available data storage space on the network devices.

5. The method of claim 1 , wherein generating the image map comprises selecting a predefined proportion of the network devices to serve as the one or more image proxy network devices, wherein the control system stores an indication of the predefined proportion received via configuration information.

6. The method of claim 5 , wherein selecting the predefined proportion of the network devices comprises selecting half of the network devices to serve as the one or more image proxy network devices.

7. The method of claim 1 , further comprising identifying, by the control system and prior to generating the image map, the network devices as network devices to be upgraded from among a plurality of network devices managed by the control system.

8. The method of claim 1 , further comprising:

configuring, by the control system, the network device to be upgraded to request the portion of the software upgrade image from the control system or a central server if attempts by the network device to download the portion of the software upgrade image from the one or more image proxy network devices fail.

9. A control system for a software upgrade image, the control system comprising:

one or more processors; and

memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to:

receive respective characterization data for network devices of a network;

generate, based on the characterization data for the network devices, an image map that indicates, for each portion of a plurality of different portions of the software upgrade image, one or more image proxy network devices assigned by the control system from among the network devices to store the portion based on the characterization data, wherein the image map indicates an order of the one or more image proxy network devices from which a network device to be upgraded should attempt to download the portion of the software upgrade image if a previous attempt fails; and

output the image map to the network device of the network devices to cause the network device to obtain each portion of the plurality of different portions of the software upgrade image from a corresponding image proxy network device of the one or more image proxy network devices assigned by the control system to store the portion.

10. The control system of claim 9 , wherein the memory further comprises instructions that when, executed by the one or more processors, cause the one or more processors to: instruct the network device of the network devices to be upgraded to initiate an upgrade process that obtains portions of the software upgrade image in accordance with the image map.

11. The control system of claim 9 , wherein the software upgrade image is for upgrading a software component to be executed by the network device.

12. The control system of claim 9 , wherein the characterization data upon which the generation of the image map is based comprises one or more selected from the group consisting of: a topology of the network, a distance of the network devices to a location where the software upgrade image is stored, and an amount of available data storage space on the network devices.

13. The control system of claim 9 , wherein to generate the image map comprises to select a predefined proportion of the network devices to serve as the one or more image proxy network devices, wherein the control system stores an indication of the predefined proportion received via configuration information.

14. The control system of claim 13 , wherein to select the predefined proportion of the network devices comprises to select half of the network devices to serve as the one or more image proxy network devices.

15. The control system of claim 9 , wherein the memory further comprises instructions that when executed by the one or more processors cause the one or more processors to: identify, by the control system and prior to generating the image map, the network devices as network devices to be upgraded from among a plurality of network devices managed by the control system.

16. The control system of claim 9 , wherein the memory further comprises instructions that, when executed by the one or more processors, cause the one or more processors to:

configure the network device to be upgraded to request the portion of the software upgrade image from the control system or a central server if attempts by the network device to download the portion of the software upgrade image from the one or more image proxy network devices fail.

17. Computer-readable storage media comprising instructions that when executed cause one or more processors of a control system to:

receive respective characterization data for network devices of a network;

generate, based on the characterization data for the network devices, an image map that indicates, for each portion of a plurality of different portions of a software upgrade image, one or more image proxy network devices assigned by the control system from among the network devices to store the portion based on the characterization data, wherein the image map indicates an order of the one or more image proxy network devices from which a network device to be upgraded should attempt to download the portion of the software upgrade image if a previous attempt fails; and

output the image map to the network device of the network devices to cause the network device to obtain each portion of the plurality of different portions of the software upgrade image from a corresponding image proxy network device of the one or more image proxy network devices assigned by the control system to store the portion.

18. The computer-readable storage media of claim 17 , further comprising instructions that when executed cause the one or more processors of the control system to:

instruct the network device of the network devices to be upgraded to initiate an upgrade process that obtains portions of the software upgrade image in accordance with the image map.

19. The computer-readable storage media of claim 17 , wherein the characterization data upon which the generation of the image map is based comprises one or more selected from the group consisting of: a topology of the network, a distance of the network devices to a location where the software upgrade image is stored, and an amount of available data storage space on the network devices.

20. The computer-readable storage media of claim 17 , wherein the instructions when executed further cause the one or more processors to:

configure the network device to be upgraded to request the portion of the software upgrade image from the control system or a central server if attempts by the network device to download the portion of the software upgrade image from the one or more image proxy network devices fail.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: GOEL, PRATEEK; SHARIF, RAHAMATH
To: JUNIPER NETWORKS, INC.
Reel/Frame 057657/0758 →
Continuity (1)
Related Publication 20230094033A1 · Mar 30, 2023
References Cited (11)
US 20080288936A1 · Ikeda · 2008 [cited by applicant]
US 20140089912A1 · Wang · 2014 [cited by examiner]
US 20180295016A1 · Frahim · 2018 [cited by examiner]
US 20200117440A1 · Lucidarme · 2020 [cited by examiner]
US 20210014117A1 · Tsai · 2021 [cited by examiner]
EP 3502885A1 · 2019 [cited by applicant]
Extended Search Report from counterpart European Application No. 22198882.7 dated Feb. 21, 2023, 9 pp. [cited by applicant]
Enns, “NETCONF Configuration Protocol,” Network Working Group, RFC 4741, Dec. 2006, 96 pp. [cited by applicant]
Bjorklund, “YANG—A Data Modeling Language for the Network Configuration Protocol (NETCONF),” Internet Engineering Task Force (IETF), RFC 6020, Oct. 2010, 173 pp. [cited by applicant]
“Upgrading Device Software Images” Cisco Prime Infrastructure 3.1, Cisco Software Group, Cisco Systems, Inc., 2016, 66 pp. (Applicant points out, in accordance with MPEP 609.04(a), that the year of publication, 2016, is… [cited by applicant]
Response to Extended Search Report dated Feb. 21, 2023, from counterpart European Application No. 22198882.7 filed Oct. 4, 2023, 31 pp. [cited by applicant]
Cited By (1)
US 12,511,196