Providing automatic software upgrades for transport layer devices

The CM UI automates software upgrades for transport layer devices, addressing the inefficiencies of manual processes by providing real-time monitoring and reducing errors, thus enhancing upgrade efficiency and reducing costs.

JP2025529860AActive Publication Date: 2025-09-09RAKUTEN MOBILE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025511410
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-11-03
Publication Date
2025-09-09
Estimated Expiration
2042-11-03

AI Technical Summary

Technical Problem

Transport layer devices such as gateways, routers, and firewalls require manual upgrades of configuration files and firmware, which are time-consuming and prone to errors, especially when upgrading multiple devices, and lack timely status information.

Method used

A Configuration Manager (CM) user interface (UI) that automates software upgrades, provides real-time status checks, and performs configuration validation, allowing parallel upgrades across multiple devices using Netconf-supported applications.

Benefits of technology

Saves time, reduces costs, and minimizes human errors by enabling efficient, automated upgrades with real-time monitoring and issue resolution, reducing the need for manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529860000001_ABST
    Figure 2025529860000001_ABST
Patent Text Reader

Abstract

An automatic software upgrade for transport layer devices is described. One or more transport layer devices from a device list for upgrade are presented on a user interface (UI). A user selects one or more transport layer devices from the device list for upgrade via the UI. Upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade are received via the UI. Based on the upgrade details, an upgrade of the one or more transport layer devices is initiated. During the upgrade of the one or more transport layer devices, real-time information returned from the one or more transport layer devices is presented on the UI. The upgrade of the one or more transport layer devices is verified based on the real-time information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This description relates to a configuration manager (CM) user interface (UI) for providing automatic software upgrades for transport layer devices, and methods of using the same. [Background technology]

[0002] The growth of applications and the amount of data using data and communication networks has expanded dramatically. The increase in data streaming of audio and video files, as well as network data applications and traffic, has created resource pressure. The pressure has been exacerbated by the increasing use of Internet of Things (IoT) devices. Summary of the Invention [Problem to be solved by the invention]

[0003] To support increased network traffic, transport layer devices such as gateways, routers, switches, and firewalls rely on vendors and operations teams to upgrade configuration files and firmware on the devices to ensure smooth operation. Upgrades are also performed to resolve software issues and improve security on these devices. While the use of over-the-air (OTA) methods has increased the efficiency of performing upgrades, upgrades still rely on manual methods to perform upgrades to configuration files and firmware. For example, a user manually logs on to a device and executes a sequence of command line interface commands to perform the upgrade. The same manual techniques are used to verify device configurations and compare pre- and post-upgrade configurations.

[0004] Additionally, the user checks to ensure that the device to be upgraded is not receiving network traffic. Ensuring that the device is not receiving network traffic is performed using additional manual checks. The user also manually backs up the device's configuration so that the device's configuration can be rolled back to its pre-upgrade configuration in the event that the upgrade to the device is not successful.

[0005] To upgrade multiple devices, users must manually perform these processes for each device individually. These manual processes are cumbersome and time-consuming. Upgrading multiple devices multiplies the time used to upgrade the devices. Additionally, users are not provided with timely status information, which can lead to upgrades continuing even if the upgrade results in errors or invalid configurations. [Means for solving the problem]

[0006] In at least one embodiment, a method for providing automatic software upgrades for transport layer devices is provided, the method including: receiving, on a user interface (UI), a selection of one or more transport layer devices from a list of devices for upgrade; receiving, via the UI, upgrade details for the upgrade of the one or more transport layer devices selected from the list of devices for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; and validating the upgrade of the one or more transport layer devices based on the real-time information.

[0007] In at least one embodiment, a device for performing automatic software upgrades for transport layer devices is provided. The device includes a memory storing computer-readable instructions and a processor coupled to the memory. The processor is configured to execute the computer-readable instructions to: present, on a user interface (UI), one or more transport layer devices from a device list for upgrade; receive, via the UI, a selection of one or more transport layer devices from the device list for upgrade; receive, via the UI, upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade; initiate the upgrade of the one or more transport layer devices based on the upgrade details; present, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; and verify the upgrade of the one or more transport layer devices based on the real-time information.

[0008] In at least one embodiment, a non-transitory computer-readable medium is provided having stored thereon computer-readable instructions that, when executed by a processor, cause the processor to perform operations including receiving, on a user interface (UI), a selection of one or more transport layer devices from a device list for upgrade; receiving, via the UI, upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; and verifying the upgrade of the one or more transport layer devices based on the real-time information. [Brief explanation of the drawings]

[0009] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. It should be noted that, according to industry practice, various features are not drawn to scale. In fact, the dimensions of various features may be increased or decreased for clarity of discussion.

[0010] FIG. 1 is a diagram of a system for performing a device upgrade, according to at least one embodiment.

[0011] FIG. 2 is an end-to-end flow diagram of an upgrade process, according to at least one embodiment.

[0012] Figure 3 shows an example of a command line interface used to perform a manual upgrade.

[0013] FIG. 4 is a diagram of a configuration manager user interface (CM UI) according to at least one embodiment.

[0014] FIG. 5 is a diagram of an input upgrade details UI, according to at least one embodiment.

[0015] FIG. 6 is a diagram of an upgrade history UI, according to at least one embodiment.

[0016] FIG. 7 is a flowchart of a method for merging regions, according to at least one embodiment.

[0017] FIG. 8 is a high-level functional block diagram of a processor-based system according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0018] The embodiments described herein describe examples for implementing different features of the provided subject matter. Examples of components, values, operations, materials, arrangements, etc. are described below to simplify the disclosure. These are, of course, examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are also contemplated. For example, the formation of a first feature above or on a second feature in the following description includes embodiments in which the first and second features are formed in direct contact, as well as embodiments in which an additional feature is formed between the first and second features such that the first and second features are not in direct contact. Additionally, the present disclosure may repeat reference numerals and / or letters in various examples. This repetition is for simplicity and clarity and does not indicate a relationship between the various embodiments and / or configurations discussed.

[0019] Additionally, spatially relative terms such as "beneath," "below," "lower," "above," "upper," and the like are used herein for ease of description to describe the relationship of one element or feature to another element or feature as illustrated in the figures. Spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. The apparatus or device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0020] Terms such as "user equipment," "mobile station," "mobile," "mobile device," "subscriber station," "subscriber equipment," "access terminal," "terminal," "handset," and similar terms refer to wireless devices utilized by subscribers or users of wireless communication services for receiving or transmitting data, control, voice, video, sound, gaming, or data or signaling streams. The above terms are used interchangeably in the subject specification and related drawings. Terms such as "access point," "base station," "Node B," "evolved Node B (eNode B)," "next generation Node B (gNB)," "enhanced gNB (en-gNB)," "home Node B (HNB)," "home access point (HAP)," and the like refer to wireless network components or devices that provide and receive data, control, voice, video, sound, gaming, or virtually any data or signaling stream to and from UEs.

[0021] In at least one embodiment, a Configuration Manager (CM) user interface (UI) performs end-to-end upgrades and provides real-time status checks, presents failure details, and performs configuration validation for pre-upgrade and post-upgrade operations. The CM UI provides real-time tracking of data to address any issues that arise during the upgrade process. The CM UI communicates with devices using northbound Netconf-supported applications. Upgrades are performed based on a single action performed on the CM UI.

[0022] While traditional solutions rely on users to manually log on to all devices and perform the upgrade, the CM UI allows users to run the upgrade process on one device or on many devices in parallel. The CM UI uses the Netconf interface and handles command execution with the assistance of supporting northbound modules / applications. The CM UI tracks real-time updates from one or more devices being upgraded. The CM UI provides visibility into the end-to-end automation of use cases by providing logs so that upgrade issues can be resolved, for example, using the debug process. Planned upgrades can be identified and canceled in the CM UI. A historical record of devices being upgraded is also presented.

[0023] The embodiments described herein provide advantages over manual upgrade processes, including time savings, reduced costs and expenses for performing upgrades, and ease of management of the upgrade process. Manual efforts to upgrade devices, even with the use of scripts, are cumbersome tasks. The CM UI also allows human resources to be conserved and provides a safeguard against human error.

[0024] FIG. 1 is a diagram of a system 100 for performing a device upgrade, according to at least one embodiment.

[0025] In FIG. 1 , a configuration manager (CM) 110 presents a CM user interface (UI) 112 to automate upgrades to devices. The CM 110 is coupled to a northbound service 120 to interact with the transport layer devices "1-n" 130, 150 according to the type of interface (e.g., Netconf) that the transport layer devices "1-n" 130, 150 support. For example, Netconf provides a mechanism for installing, manipulating, deleting, and upgrading the configuration of transport layer devices. The northbound service 120 has access to the transport layer devices "1-n" 130, 150. As an example, the transport layer device "1" 130 includes a processor 132 and a non-transitory storage medium 134.

[0026] The non-transitory storage medium 134 includes instructions / applications 136 executable by the processor 132 to perform the functions of the transport layer device "1" 130. The non-transitory storage medium 134 of the transport layer device "1" 130 also includes a configuration file 138. Communications are provided by a transceiver 140 to enable the transport layer device "1" 130 to communicate with the northbound services 120 over a network 160 and with other devices, including the transport layer device "n" 150, either wired or wirelessly.

[0027] In at least one embodiment, one or more of connections 170-176 are implemented using at least one of a wireless connection and a wired connection. In at least one embodiment, one or more of connections 170-176 are implemented as a wireless connection according to any IEEE 802.11 Wi-Fi protocol, Bluetooth protocol, Bluetooth Low Energy (BLE), or other short-range protocol operating according to a radio technology protocol for exchanging data using any licensed or unlicensed band, such as the citizens broadband radio service (CBRS) band, the 2.4 GHz band, the 5 GHz band, or the 6 GHz band. Additionally, in at least one embodiment, one or more of connections 170-176 are implemented using a wireless connection operating according to, but not limited to, the RF4CE protocol, the ZigBee protocol, the Z-Wave protocol, or the IEEE 802.15.4 protocol. In at least one embodiment, one or more of connections 170-176 are implemented using a coax (MoCA) network. In at least one embodiment, one or more of connections 170-176 are wired Ethernet connections. In at least one embodiment, one or more of connections 170-176 are implemented as 4G or 5G connections.

[0028] The CM 110 provides a multi-vendor performance and observability framework for accessing network system data. The CM user interface (UI) 112 provides a visual display of the status of the network and associated parameters. Settings on the CM UI 112 allow for selection of domain, vendor, and technology. The CM UI presents parameters in a network tree to view the current configuration of network elements. In at least one embodiment, the CM UI 112 performs end-to-end upgrades and provides real-time status checks, presents failure details, and performs configuration validation for pre- and post-upgrade operation. The CM UI 112 provides real-time tracking of data to address any issues that arise during the upgrade process. The CM UI 112 communicates with transport layer devices "1-n" 130, 150 using applications supported by northbound services 120, such as Netconf applications.

[0029] Upgrades are performed based on a single action performed on the CM UI 112. Whereas traditional solutions rely on users to manually log on to all devices and perform the upgrade, the CM UI 112 allows users to run the upgrade process on one transport layer device 130 or on multiple transport layer devices "1-n" 130, 150 in parallel. The CM UI 112 handles command execution with the assistance of a supporting northbound service 120, for example, using a Netconf interface. The CM UI 112 tracks real-time updates from one or more transport layer devices "1-n" 130, 150 being upgraded.

[0030] The CM UI 112 provides visibility into the end-to-end automation of use cases, for example, by providing logs so that upgrade issues can be resolved using a debug process. Planned upgrades can be identified and canceled in the CM UI 112. A history record of the devices being upgraded is also presented. The CM UI 112 further presents history records associated with one or more upgrades of transport layer devices "1-n" 130, 150.

[0031] The CM UI 112 provides advantages over manual upgrade processes, including saving time, reducing costs and expenses for performing upgrades, and easing management of the upgrade process. Manual efforts to upgrade devices, even with the use of scripts, are cumbersome tasks. An automated upgrade process implemented using the CM UI 112 allows human resources to be conserved and safeguards against human error.

[0032] Netconf in Northbound Services 120 supports configuration and notification data protocol operations to retrieve and edit configuration data, encode remote procedure calls (RPCs) and notifications, and provide secure and reliable message transport between clients and servers. Netconf in Northbound Services 120 allows authorized users to remotely configure, manage, and monitor devices, and enables devices to proactively report alarms and events for real-time display in CM UI 112.

[0033] FIG. 2 is an end-to-end flow diagram 200 of an upgrade process, according to at least one embodiment.

[0034] In FIG. 2, the CM UI 202 synchronizes with the backend database (204) to dynamically update state changes. The state changes are presented on the CM UI 202. The CM UI 202 is used by the user to share details about the devices and to confirm which devices to perform the upgrade on. The code for performing the upgrade is based on the northbound entity 220 controlled by the CM 210. Once the details of one or more transport layer devices 230 are obtained, the upgrade details (e.g., operating system (OS) version, etc.), such as those provided in a specific file to perform the upgrade, are configured to update the one or more transport layer devices 230.

[0035] The CM 210 communicates with the Northbound entity 220 in middleware, which communicates with one or more devices to be upgraded. The Northbound entity 220 performs the upgrade on one or more devices, with details shared via the CM UI 202. The status of the process is reflected directly on the CM UI 202 using a database, state changes, logs, etc. State changes and logs are communicated to the CM UI 202 to provide the user with visibility into the upgrade process. The CM UI 202 shows status information in terms of the network tree. For example, the CM UI 202 shows information such as the device's planned state, whether an upgrade is in progress for the device, whether an upgrade for the device has failed, whether an upgrade for the device has previously been successful, warnings, and other attributes.

[0036] When the CM 210 triggers an upgrade, the flow steps are managed by the Northbound entity 220 (e.g., middleware / Netconf). The CM UI 202 of the CM 210 generates a trigger with device details (e.g., using a REST API call 240). The Northbound entity 220 receives the details and sends a signal to change the status in its database to "planned" for one or more devices to be upgraded (242). When the upgrade begins, the Northbound entity 220 changes the status in its database to "in progress" (250). The upgrade for one or more transport layer devices 230 is triggered (252) using the Netconf interface of the Northbound entity 220.

[0037] The transport layer device 230 captures (260) responses associated with the upgrade that are provided to the northbound entity 220. Based on the responses from one or more transport layer devices 230, the northbound entity 220 determines (270) a final status, such as success, failure, or warning. Based on the final status determined by the northbound entity 220, the northbound entity 220 changes (272) the status in the database to "success," (274) the status in the database to "failure," or (276) the status in the database to "warning."

[0038] FIG. 3 shows an example of a command line interface 300 used to perform a manual upgrade.

[0039] To upgrade devices, a user logs on to each device through command line interface 300. Commands 310, 312, 314, and 316 are also used to perform prerequisite activities, such as removing network traffic from the device. The user generates additional commands 310, 312, 314, and 316 to verify that traffic through the device has stopped. The user enters additional commands 310, 312, 314, and 316 on terminal command line interface 300 to configure basic settings. Commands 310, 312, 314, and 316 are also entered to back up the device so that the configuration can be rolled back to the pre-upgrade version if any problems arise during the upgrade process. Commands 310, 312, 314, and 316 are executed.

[0040] Execution of commands 310, 312, 314, and 316 returns responses 320, 322, 324, and 326. After the upgrade is complete, commands 310, 312, 314, and 316 are used to manually verify the configuration by comparing the pre-upgrade and post-upgrade configurations. Using scripts to execute commands 310, 312, 314, and 316 only marginally improves the time to upgrade devices. Nevertheless, scripts must be configured for one or more devices to be upgraded. Other processes, such as performing verification, receiving real-time status feedback, and validating the upgrade, are not automated. Furthermore, clear and easily interpreted visualization of the upgrade status and process is not provided through the use of scripts.

[0041] FIG. 4 is a diagram of a configuration manager user interface (CM UI) 400, according to at least one embodiment.

[0042] In FIG. 4, the CM UI shows status information about the network tree 402. A search window 410 is provided, and a drop-down menu 412 allows the user to select the scope of the search (e.g., network tree 414). Through a settings icon 416, the user can select a view of the operational domain 418 (e.g., RAN 420, Core 421, Transport 422, Security 423). In FIG. 4, the domain 418 of Transport 422 is selected. Under Transport 422, further selections are available (e.g., "NW Co1" 424, "NW Co2" 425). As an example, under "NW Co2" 424, "4G" 426 is selected. Under "4G" 426, "AGI" 427 is selected. Window 428 presents results based on the selection made under Transport 422. 4, window 428 shows "300 of 551" network elements 429 identified by network element (NE) name 430. For example, 16 devices 431 are shown for provisioning in window 428 of CM UI 400.

[0043] Window 428 also includes columns for status 432, date and time for last configuration (Config) update 434, identification of domain 436, identification of device type 438, identification of software (SW) version 440, identification of configuration conflicts 442, and status of golden configuration parameters 444. Up / down navigation bar 446 and left / right navigation bar 448 are provided for navigation within window 428.

[0044] In Figure 4, single or bulk upgrades are selectable. To upgrade one device, the user selects row 451 (e.g., NE element "ABC123xyzXY02" 449 is identified by NE name 430) and initiates the upgrade for that device. To upgrade multiple devices upon a trigger event, the user can select the menu option of bulk upgrade icon 450. In this way, CM UI 400 can perform multiple upgrades, including logging on to each device, whereas in the manual method, the user logs on to devices one by one. When an upgrade is selected, CM UI 400 automatically creates backups of the devices selected for upgrade, and traffic is stopped on the devices selected for upgrade.

[0045] Once the device details are obtained by the CM UI 400, the user selects an upgrade file with the upgrade details to perform the upgrade (see FIG. 5 for selecting an upgrade file). For example, the upgrade file provides the CM UI 400 data such as the operating system (OS) version.

[0046] The CM UI 400 communicates in middleware with a northbound entity, which communicates with one or more devices to be upgraded. The northbound entity performs the upgrade on one or more devices with details provided via the CM UI 400. The status of the process is reflected directly on the CM UI 400 using a database, state changes, logs, etc. State changes and logs are communicated to the CM UI 400 to provide the user with visibility into the upgrade process.

[0047] Selecting the settings icon 452 displays the upgrade status menu 454. As shown in FIG. 4, real-time information 460 about the upgrade status of the device is presented. The CM UI 400 provides information generated by following the logs, along with updates to the real-time information 460 related to the upgrade process for the device. The user can view the exact stage in the upgrade process the NE is currently at. The real-time information 460 in the CM UI 400 shows the upgrade status, so the user can verify that traffic associated with the selected device has stopped. The user can identify the NE where the upgrade process failed. The user can then select the NE element by clicking on the NE to see exactly what went wrong in the upgrade process for the selected device. Selecting the device displays the upgrade history UI 600 of FIG. 6.

[0048] The CM UI 400 allows a user to cancel a planned upgrade. An upgrade may also be canceled by removing the upgrade from the upgrade schedule 484. For example, in response to a user scheduling upgrades for multiple devices, the scheduled upgrade for selected devices may be canceled. For example, in response to a user scheduling upgrades for multiple devices, the scheduled upgrade for selected devices (e.g., some of the devices shown in planned state 462) may be canceled.

[0049] A cross "X" 464 indicates that the upgrade for the device has been canceled. The real-time information 460 also includes an information icon 466 that can be selected to obtain information about the upgrade for the device. A warning icon 468 indicates that the upgrade is in a warning state. When the start time arrives, the status changes to "in progress." An hourglass icon 470 indicates that the upgrade is in progress. After the upgrade is complete, the status is displayed as "success" or "failed." A checkmark icon 472 indicates a successful upgrade. A failure icon 474 indicates that the upgrade for the device has failed.

[0050] After the upgrade is complete, the CM UI 400 validates the pre-configuration and post-configuration. In response to determining a mismatch between the pre-configuration and post-configuration, an alarm (e.g., warning icon 468) is presented on the CM UI 400. For example, there may be some new features that are not upgraded. The user can determine that the mismatch is acceptable and continue with the upgrade, or select the rollback icon 482 to roll back the configuration to the status before the update.

[0051] 4, network element "ABC123xyzXY02" 449 is selected. Additionally, function icons (e.g., rollback 482, scheduled upgrade 484, upload 486, download 488) are shown for network element "ABC123xyzXY02" 449. A user can select reset icon 490 to roll back the upgrade. After a user reviews the real-time status information presented in window 428, they can select apply icon 492 to apply the upgrade.

[0052] Vendors and users can perform configuration pushes and visualize execution information directly from the CM UI 400. The CM UI 400 uses configuration files provided by the user (as described below in FIG. 5). In at least one embodiment, the configuration files are provided in JSON format using template data provided by the user.

[0053] The CM UI 400 allows users to perform end-to-end upgrades, provide real-time status checks, present failure details, and perform configuration validation for pre-upgrade and post-upgrade operations. The CM UI 400 provides real-time tracking of data to address any issues that arise during the upgrade process. The CM UI 400 communicates with devices using northbound Netconf-supported applications. The CM UI 400 performs upgrades based on a single action performed on the CM UI 400. While manual solutions require users to manually log on to each device to perform the upgrade, the CM UI 400 allows users to run the upgrade process on one device or on many devices in parallel.

[0054] The CM UI 400 handles command execution using the Netconf interface with the assistance of supporting northbound modules / applications. The CM UI 400 tracks real-time updates from one or more devices being upgraded. The CM UI 400 provides visibility into the end-to-end automation of use cases by providing logs so that upgrade issues can be resolved, for example, using a debug process. Planned upgrades can be identified and canceled in the CM UI 400. A historical record of devices being upgraded is also presented.

[0055] The CM UI 400 supports single device upgrades, where the upgrade is performed on one device. The user provides details about the upgrade through the upgrade details entry UI 500 of Figure 5. A bulk device upgrade is similar to the single device upgrade feature, but involves selecting multiple devices and selecting the bulk upgrade icon 450.

[0056] The real-time information 460 provides real-time status of devices for which upgrades are scheduled / in progress. The CM UI 400 automatically performs upgrades to transport layer devices without human intervention and provides real-time tracking data to address any issues that arise during the upgrade process. The CM UI 400 provides visibility into the end-to-end automation of use cases by providing logging for debugging purposes in case any issues arise during the upgrade process. Thus, users are provided with improved visibility and control over the upgrade process using the CM UI 400.

[0057] Planned upgrades can be canceled through the CM UI 400. The CM UI also provides many pre-upgrade and post-upgrade check / verification activities that would normally require significant effort using manual methods. The CM UI 400 interacts with many types of transport layer devices and northbound modules, such as northbound modules that support Netconf applications. The CM UI 400 communicates with devices to be upgraded using the northbound-supported Netconf applications. For example, in at least one embodiment, the execution of automated commands provided by the CM UI 400 is performed by the Netconf interface and northbound services.

[0058] FIG. 5 is a diagram of an input upgrade details UI 500, according to at least one embodiment.

[0059] In Figure 5, an Upgrade Detail Input UI 500 is used to provide upgrade details. A current version 510 is pulled from the device to be upgraded. The current version 510 is shown as "6.5.2" 511. A new version 512 specifies the upgrade to provision to the device. The new version 512 is shown as "7.3.2" 513. A schedule date 520 and a schedule time 522 provide the date and time for scheduling the upgrade. The schedule date 520 is shown as "2022-10-01" 521 and the schedule time 522 is shown as "14:30" 523.

[0060] Md5 checksum 530 is provided for the files the user selects to perform the upgrade. Transit threshold 532 is associated with network traffic validation, for example, to determine if network traffic is stopped.

[0061] New package name 540 specifies the name of the upgrade package to be used. In FIG. 5, new package name 540 is shown as "IOS-XR" 541. Current package name 542 specifies the name for the current configuration. In FIG. 5, current package name 542 is shown as "IOS-XR" 543. Other package names (e.g., "NX-OS", "IOS XE", etc.) may be displayed for new package name 540 and current package name 542. For example, an upgrade may be made from "IOS XR" to "IOS XE".

[0062] The file name 550 is for specifying the name of the upgrade file to be used for the upgrade. In Figure 5, the file name 550 is specified as "sampleFile" 551. The control relationship identifier (CR ID) 552 specifies the control relationship between the control point and the controller. In Figure 5, the CR ID 552 is specified as "sampleCR" 553.

[0063] Expected package list 560 is used to list packages that are candidates for upgrade. A sample package is shown as "samplePackage" 562. The user can reject "samplePackage" 562 by clicking on "X" 564. Additional details and metadata can be selected or entered by clicking additional SMU information 566.

[0064] After the upgrade details are entered on the upgrade details entry UI 500, the user selects the save button 570. The upgrade begins, and progress information is presented in real time on the CM UI 400 of FIG.

[0065] FIG. 6 is a diagram of an upgrade history UI 600, according to at least one embodiment.

[0066] 4, when upgrade is selected, upgrade history UI 600 is displayed. Upgrade history UI 600 provides upgrade history data for a device, allowing a user to determine how many times a device has been upgraded, when the device was upgraded, etc. For example, upgrade history UI 600 shows a device that has been upgraded twice.

[0067] 6 shows a change history 610 for "ABC123xxxXY02" 612 in a network tree 614. An upgrade history UI 600 is identified as an upgrade history 620. The upgrade history UI 600 can show the upgrade history of a device that includes multiple upgrades (e.g., 0-20 upgrades).

[0068] Window 630 includes columns for Status 631, Stage 632, NE ID 633, Upgrade Date / Time 634, Previous Version 635, and Upgrade Version 636. Window 630 shows a device with NE ID 633 of "ABC123xxxXY02" 612 that has undergone two upgrades 660, 670.

[0069] Upgrade 660 is the recent upgrade history for "ABC123xxxXY02" 612 and has a status 631 of Warning 640. The NE ID 632 is shown as "ABC123xxxXY02" 642. The upgrade time / date 633 is shown as "2022-10-01 03:05:01:00.0" 643. The change in version associated with the upgrade is displayed. The previous version 634 is shown as "1.2.3" 644 and the upgrade version 635 is shown as "1.1.1" 645.

[0070] Upgrade 670 is the next upgrade history for "ABC123xxxXY02" 612 and has a status 631 of Failed 650. The NE ID 632 is shown as "ABC123xxxXY02" 652. The upgrade time / date 633 is shown as "2022-10-01 01:30:00:00.0" 653. The version changes associated with the upgrade 670 are displayed. The previous version 634 is shown as "1.2.3" 654 and the upgrade version 635 is shown as "1.1.1" 655.

[0071] Selection of information icons 646, 656 displays further details associated with upgrades 660, 670, respectively.

[0072] FIG. 7 is a flowchart 700 of a method for merging regions, according to at least one embodiment.

[0073] In FIG. 7, the upgrade process begins with one or more transport layer devices from a device list for upgrade being presented on the user interface UI (S710).

[0074] A selection of one or more transport layer devices is received from a device list for upgrade via the UI (S714). The selection of the one or more devices includes logging on to the one or more devices selected from the device list for upgrade, creating a backup of the one or more devices selected from the device list for upgrade, and stopping network traffic on the one or more devices selected from the device list for upgrade.

[0075] Upgrade details for upgrading one or more transport layer devices selected from the device list for upgrade are received via the UI (S718). The upgrade details include a schedule for initiating the upgrade of the one or more transport layer devices. A user can cancel at least one upgrade of the one or more transport layer devices.

[0076] Based on the upgrade details, an upgrade of one or more transport layer devices is initiated (S722).

[0077] During the upgrade of one or more transport layer devices, real-time information returned from the one or more transport layer devices is presented on the UI (S726). The real-time information includes state changes and logs, identification of configuration conflicts, and status of configuration parameters associated with one or more devices selected from the device list for upgrade. The real-time information also includes alarms for at least one of the one or more transport layer devices in response to determining a mismatch between the pre-upgrade configuration and the post-upgrade configuration. A user can provide input to roll back the post-upgrade configuration of at least one of the one or more transport layer devices associated with the alarm to the pre-upgrade configuration.

[0078] The upgrade of one or more transport layer devices is verified based on the real-time information (S730), including receiving a selection of failed devices identified as having failed upgrades based on the real-time information and displaying upgrade histories associated with the failed devices.

[0079] The upgrade process is complete, but may be repeated (S740).

[0080] At least one embodiment of a method for providing automatic software upgrades for transport layer devices includes receiving, on a user interface (UI), a selection of one or more transport layer devices from a device list for upgrade; receiving, via the UI, upgrade details for the upgrade of the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; and validating the upgrade of the one or more transport layer devices based on the real-time information.

[0081] FIG. 8 is a high-level functional block diagram of a processor-based system 800 according to at least one embodiment.

[0082] In at least one embodiment, processing circuitry 800 provides automatic software upgrades for transport layer devices. Processing circuitry 800 implements the automatic software upgrades for transport layer devices using processor 802. Processing circuitry 500 also includes a non-transitory computer-readable storage medium 804 used to implement the automatic software upgrades for transport layer devices. Storage medium 804 is encoded with (i.e., stores) instructions 806 (i.e., computer program code executed by processor 802) that, among other things, cause processor 802 to perform operations to provide automatic software upgrades for transport layer devices. Execution of instructions 806 by processor 802 represents (at least in part) an application that implements at least a portion of a method (hereinafter referred to as process and / or method) described herein according to one or more embodiments.

[0083] The processor 802 is electrically coupled to a computer-readable storage medium 804 via a bus 808. The processor 802 is electrically coupled to an input / output (I / O) interface 810 by the bus 808. A network interface 812 is also electrically connected to the processor 802 via the bus 808. The network interface 812 is connected to a network 814, via which the processor 802 and the computer-readable storage medium 804 can be connected to external elements. The processor 802 is configured to execute instructions 806 encoded on the computer-readable storage medium 804 to enable the processing circuit 800 to perform at least portions of processes and / or methods. In one or more embodiments, the processor 802 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or other suitable processing unit.

[0084] Processing circuit 800 includes an I / O interface 810. I / O interface 810 is coupled to external circuitry. In one or more embodiments, I / O interface 810 includes a keyboard, keypad, mouse, trackball, trackpad, touchscreen, and / or cursor direction keys for communicating information and commands to processor 802.

[0085] Processing circuit 800 also includes a network interface 812 coupled to processor 802. Network interface 812 enables processing circuit 800 to communicate with a network 814 to which one or more other computer systems are connected. Network interface 812 includes a wireless network interface such as Bluetooth, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX), General Packet Radio Service (GPRS), or Wideband Code Division Multiple Access (WCDMA), or a wired network interface such as Ethernet, Universal Serial Bus (USB), or Institute of Electrical and Electronics Engineers (IEEE) 864.

[0086] The processing circuit 800 is configured to receive information through an I / O interface 810. The information received through the I / O interface 810 includes one or more of instructions, data, design rules, a library of cells, and / or other parameters for processing by the processor 802. The information is transferred to the processor 802 via a bus 808. The processing circuit 800 is configured to receive information related to a user interface (UI) through the I / O interface 810.

[0087] In one or more embodiments, one or more non-transitory computer-readable storage media 804 store (in compressed or uncompressed form) instructions used to program a computer, processor, or other electronic device to perform the processes or methods described herein. The one or more non-transitory computer-readable storage media 804 may include one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, etc.

[0088] For example, computer-readable storage media include, but are not limited to, hard drives, floppy diskettes, optical disks, read-only memory (ROM), random-access memory (RAM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. In one or more embodiments using optical disks, the one or more non-transitory computer-readable storage media 804 include compact disk read-only memory (CD-ROM), compact disk read / write (CD-R / W), and / or digital video disk (DVD).

[0089] In one or more embodiments, storage medium 804 stores computer program code 806 configured to cause processing circuitry 800 to perform at least a portion of a process and / or method for providing automatic software upgrades for transport layer devices. In one or more embodiments, storage medium 804 also stores information, such as algorithms, that facilitate the execution of at least a portion of a process and / or method for providing automatic software upgrades for transport layer devices. Thus, in at least one embodiment, processor circuitry 800 performs a method for providing automatic software upgrades for transport layer devices.

[0090] A process for providing automatic software upgrades for transport layer devices includes receiving, on a user interface (UI), a selection of one or more transport layer devices from a device list for upgrade; receiving, via the UI, upgrade details for the upgrade of the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; and verifying the upgrade of the one or more transport layer devices based on the real-time information.

[0091] A process for providing automated software upgrades for transport layer devices provides the advantages of, at a minimum, saving time, reducing costs and expenses for performing upgrades, and easing management of the upgrade process. Manual efforts to upgrade devices, even with the use of scripts, are cumbersome tasks. The CM UI also allows human resources to be saved and reduces human errors that occur when performing upgrades.

[0092] Other instances of these programs may run on or be distributed across any number of other computer systems. Thus, although particular steps have been described as being performed by particular devices, software programs, processes, or entities, this need not be the case. Various alternative implementations will be appreciated by those skilled in the art.

[0093] Additionally, those skilled in the art will readily recognize that the techniques described above can be utilized in a variety of devices, environments, and situations. Although embodiments have been described in language specific to structural features or method acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

Claims

1. 1. A method for providing automatic software upgrades for a transport layer device, comprising: receiving, on a user interface (UI), a selection of one or more transport layer devices from a device list for upgrade; receiving, via the UI, upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; verifying the upgrade of the one or more transport layer devices based on the real-time information; A method for providing

2. 2. The method of claim 1, wherein presenting the real-time information includes receiving status changes and logs, identification of configuration conflicts, and status of configuration parameters associated with the one or more devices selected from the device list for upgrade.

3. Presenting the real-time information includes: In response to determining a mismatch between the pre-upgrade configuration and the post-upgrade configuration, displaying an alarm for at least one of the one or more transport layer devices; receiving an input to roll back the post-upgrade configuration of the at least one of the one or more transport layer devices associated with the alarm to the pre-upgrade configuration; 3. The method of claim 2, comprising:

4. receiving the selection of the one or more devices logging on to the one or more devices selected from the device list for upgrade; creating a backup of the one or more devices selected from the device list for upgrade; stopping network traffic on the one or more devices selected from the device list for upgrade; 10. The method of claim 1, comprising:

5. receiving a selection of failed devices identified as having failed the upgrade based on the real-time information; displaying an upgrade history associated with the failed device; and The method of claim 1 further comprising:

6. 2. The method of claim 1, wherein receiving upgrade details for the upgrade of the one or more transport layer devices comprises receiving a schedule for initiating the upgrade of the one or more transport layer devices.

7. 7. The method of claim 6, wherein receiving the schedule for initiating the upgrade of the one or more transport layer devices includes receiving a cancellation of the upgrade of at least one of the one or more transport layer devices.

8. 1. A device for performing automatic software upgrades for a transport layer device, comprising: a memory storing computer readable instructions; a processor coupled to the memory, Submitting one or more transport layer devices from a device list on a user interface (UI) for upgrade; receiving, via the UI, a selection of one or more transport layer devices from the device list for upgrade; receiving, via the UI, upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; verifying the upgrade of the one or more transport layer devices based on the real-time information; a processor configured to execute the computer-readable instructions to perform the 1. A device comprising:

9. 10. The device of claim 8, wherein the processor is further configured to present the real-time information by presenting status changes and logs, identification of configuration conflicts, and status of configuration parameters associated with the one or more devices selected from the device list for upgrade.

10. The processor: In response to determining a mismatch between the pre-upgrade configuration and the post-upgrade configuration, displaying an alarm for at least one of the one or more transport layer devices; receiving an input to roll back the post-upgrade configuration of the at least one of the one or more transport layer devices associated with the alarm to the pre-upgrade configuration; and further configured to perform presenting the real-time information by 10. The device of claim 9.

11. The processor: logging on to the one or more devices selected from the device list for upgrade; creating a backup of the one or more devices selected from the device list for upgrade; stopping network traffic on the one or more devices selected from the device list for upgrade; and further configured to perform receiving the selection of the one or more devices by The device of claim 8.

12. The processor: receiving a selection of failed devices identified as having failed the upgrade based on the real-time information; displaying an upgrade history associated with the failed device; and and further configured to perform The device of claim 8.

13. 10. The device of claim 8, wherein the processor is further configured to: receive upgrade details for the upgrade of the one or more transport layer devices by receiving a schedule for initiating the upgrade of the one or more transport layer devices.

14. 14. The device of claim 13, wherein the processor is further configured to perform receiving the schedule for initiating the upgrade of the one or more transport layer devices by receiving a cancellation of the upgrade of at least one of the one or more transport layer devices.

15. When executed by a processor, receiving, on a user interface (UI), a selection of one or more transport layer devices from a device list for upgrade; receiving, via the UI, upgrade details for upgrading the one or more transport layer devices selected from the device list for upgrade; initiating the upgrade of the one or more transport layer devices based on the upgrade details; presenting, on the UI, real-time information returned from the one or more transport layer devices during the upgrade of the one or more transport layer devices; verifying the upgrade of the one or more transport layer devices based on the real-time information; A non-transitory computer-readable medium having stored thereon computer-readable instructions that cause the processor to perform operations comprising:

16. 16. The non-transitory computer-readable medium of claim 15, wherein presenting the real-time information includes receiving status changes and logs, identification of configuration conflicts, and status of configuration parameters associated with the one or more devices selected from the device list for upgrade.

17. Presenting the real-time information includes: In response to determining a mismatch between the pre-upgrade configuration and the post-upgrade configuration, displaying an alarm for at least one of the one or more transport layer devices; receiving an input to roll back the post-upgrade configuration of the at least one of the one or more transport layer devices associated with the alarm to the pre-upgrade configuration; 20. The non-transitory computer-readable medium of claim 16, comprising:

18. receiving the selection of the one or more devices logging on to the one or more devices selected from the device list for upgrade; creating a backup of the one or more devices selected from the device list for upgrade; stopping network traffic on the one or more devices selected from the device list for upgrade; 16. The non-transitory computer-readable medium of claim 15, comprising:

19. receiving a selection of failed devices identified as having failed the upgrade based on the real-time information; displaying an upgrade history associated with the failed device; and 20. The non-transitory computer-readable medium of claim 15, further comprising:

20. 16. The non-transitory computer-readable medium of claim 15, wherein receiving upgrade details for the upgrade of the one or more transport layer devices includes receiving a schedule for initiating the upgrade of the one or more transport layer devices.

Citation Information

Patent Citations

  • Distribution system, control method thereof and program

    JP2020140231A

  • Network device configuration deployment pipeline

    US9419856B1