Intelligent Server Adapter State-Preserving Upgrade via Agent Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Upgrading intelligent server adapters (ISAs) typically requires a system reboot, leading to potential loss of stored state information and disruptions due to low timeouts and high I/O operations, especially in PCIe transactions, which can result in Non-Fatal Completion Timeout errors and software Non-Maskable Interrupts.

Innovation Solution

A method involving a main agent and a backup agent, where the backup agent is initiated to handle state information and critical functions, allowing the main agent to disconnect and upgrade without rebooting the host, using a handshake process to transfer duties and reclaim resources post-upgrade.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host system is brought down or rebooted to upgrade the ISA, then the upgrade can be performed, but service availability is lost and state information may be lost

Engineering Contradiction:
Improveservice availabilityVSAvoidupgrade process
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system is segmented into two independent agent components: a main agent handling normal operations and a backup agent handling critical functions during upgrade. This segmentation allows the main agent to be upgraded without affecting the backup agent's ability to maintain service availability and preserve state information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The backup agent is initiated before the upgrade process begins, performing preliminary actions to assume critical functions and preserve state information. This preliminary setup ensures that when the main agent is upgraded, services continue uninterrupted and state is maintained.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the upgrade process takes longer than the PCIe Completion Timeout, then Non-Fatal CTO errors occur causing host reboot, but completing the upgrade requires sufficient time

Engineering Contradiction:
ImprovePCIe transaction completionVSAvoidupgrade duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The backup agent acts as an intermediary that maintains PCIe transaction responsiveness during the upgrade process. By handling critical functions and maintaining communication channels, the backup agent prevents Completion Timeout errors from occurring even when the main agent is undergoing upgrade.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If independent components (drivers, OS, applications) continue operating during ISA upgrade, then service continuity is maintained, but disruptions occur due to unawareness of the upgrade

Engineering Contradiction:
Improveservice continuityVSAvoidservice disruption
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The backup agent implements feedback mechanisms to monitor and coordinate with independent components during the upgrade process. This feedback ensures that drivers, OS, and applications are aware of the upgrade state, allowing service continuity while preventing disruptions caused by component unawareness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10908895B2State-preserving upgrade of an intelligent server adapter
Publication Date: 2021.02.02 PENSANDO SYSTEMS INC
  • US10908895B2 patent drawing
  • US10908895B2 patent drawing
  • US10908895B2 patent drawing

AI summary

Methods and systems for upgrading an intelligent server adapter (ISA) with reduced downtime that affects performance are provided. The method includes, from a main agent, initiating a backup agent that includes critical functions of the ISA and runs in a tight loop, isolated from other components. The main agent transfers critical duties to the backup agent and shuts down before performing the upgrade. After upgrading itself and other system components, the main agent retrieves the duties from the backup agent, and may terminate the backup agent.