Software Component Update via Graceful Shutdown

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in efficiently and automatically updating software components across numerous and highly-distributed devices, particularly due to the complexity of managing diverse configurations and geographical distribution, which makes manual intervention impractical.

Innovation Solution

A system architecture that utilizes an OSGi framework with software containers, connectors, and a core service for managing device configurations and updates, enabling remote and automated updates of software components by validating and processing update requests, managing dependencies, and ensuring seamless transitions between component versions while preventing data loss during updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual intervention is used to update software on distributed devices, then update control and configuration management are possible, but the process becomes impractical due to the sheer number of devices, geographical distribution, and different configurations

Engineering Contradiction:
Improveupdate controlVSAvoidupdate process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system enables automated self-service updates where the backend system automatically discovers devices, validates update requests, manages dependencies, and deploys software components without manual intervention. The framework handles the entire update lifecycle autonomously, resolving the contradiction between maintaining reliable update control and simplifying the update process for large-scale distributed devices.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated update systems are implemented across distributed devices, then operational efficiency increases, but system complexity increases due to managing diverse configurations and dependencies

Engineering Contradiction:
Improveupdate efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal backend system that handles multiple functions including device discovery, update request validation, dependency management, and component deployment across diverse device configurations. This universal framework simplifies the overall system by providing a single coordinated service that manages heterogeneous devices through standardized interfaces, thereby increasing productivity without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The backend system acts as an intermediary between update sources and distributed devices, mediating the update process by validating requests, resolving dependencies, and coordinating deployments. This intermediary layer abstracts the complexity of managing diverse device configurations, allowing automated updates to proceed efficiently while containing system complexity within the mediation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If software components are updated remotely and automatically, then update speed and coverage improve, but data integrity and message delivery reliability may be compromised during transitions

Engineering Contradiction:
Improveupdate speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements beforehand cushioning by validating update requests and managing dependencies before deployment, and by implementing graceful shutdown procedures that prevent message loss during component transitions. This preparatory and protective措施 ensures that rapid automated updates maintain data integrity and reliability even during fast transitions across distributed devices.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP3029568B1Remote update of software components
Publication Date: 2022.01.05 SAP SE
  • EP3029568B1 patent drawingFigure 1
  • EP3029568B1 patent drawingFigure 2
  • EP3029568B1 patent drawingFigure 3

AI summary

A system includes execution of a first version of a software component type within a software container, installation of a second version of the software component type in the software container during execution of the first version of the software component type, registration of supported message types of the second version of the software component type during execution of the first version of the software component type, execution of the second version of the software component type in the software container during execution of the first version of the software component type, and execution of the first version of the software component type to stop accepting incoming messages, to complete processing of jobs associated with already-accepted messages, and to transmit a handover message to the second version of the software component type comprising information associated with the completed jobs.