Automated Software Upgrade Server with Public Key Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large computer networks, manually upgrading software on numerous nodes is inefficient and undesirable, as it requires user intervention and can be time-consuming, especially in datacenters with many nodes.

Innovation Solution

An automated system utilizing an upgrade server that authenticates and downloads new software versions using public keys, ensuring validity and compatibility, and a control engine that manages installation, tracking, and analysis, allowing for stable software deployment across nodes while reverting if issues arise.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual user authorization is used for software upgrades on each node, then software upgrade security and control are improved, but upgrade efficiency and time consumption deteriorate significantly in large networks

Engineering Contradiction:
Improvesoftware upgrade securityVSAvoidsoftware upgrade efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements self-service automation where the upgrade server automatically performs software package authentication, node identification, package download, and installation execution without requiring manual user intervention on each node. The control engine on each node autonomously communicates with the upgrade server to complete the upgrade process, eliminating the need for users to manually authorize each upgrade while maintaining security through automated cryptographic verification.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated download and installation is implemented, then upgrade efficiency is improved, but system complexity and authentication requirements worsen

Engineering Contradiction:
Improvesoftware upgrade efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-configuring cryptographic authentication mechanisms (public key infrastructure) during software package creation and node initialization. The upgrade server stores authentication keys and node identification information in advance, so that when automated upgrades are executed, the complex authentication processes are already prepared and can be performed automatically without adding operational complexity to the upgrade execution phase.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive authentication and verification processes are implemented, then software package validity and security are improved, but processing time and operational complexity worsen

Engineering Contradiction:
Improvesoftware package validityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system replaces manual mechanical authentication processes with automated cryptographic verification mechanisms. The upgrade server uses public key infrastructure to automatically verify software package signatures and authenticate node identities through cryptographic operations, eliminating the need for manual verification steps. This substitution maintains comprehensive security checks while reducing processing time by automating what would otherwise require lengthy manual procedures.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP3304855B1Automatic software upgrade
Publication Date: 2021.03.31 CISCO TECHNOLOGY INC
  • EP3304855B1 patent drawingFigure 1
  • EP3304855B1 patent drawingFigure 2A~2B
  • EP3304855B1 patent drawingFigure 2C

AI summary

Systems, methods, and computer-readable media are provided for automatically downloading and launching a new version of software package on components in a network environment. In some examples, an upgrade server of a network environment keeps a copy of all versions of software packages running on nodes or sensors of the network environment, identifications of corresponding nodes or sensors, and public keys associated with the software packages. The upgrade server can authenticate a new version of a software package using a two-step process.