Task Sequence Generation for Software Stack Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service providers face significant challenges in efficiently and reliably upgrading software on a large number of self-service financial transaction devices (SSFTDs) due to network bandwidth limitations and the complexity of installation sequences, which can lead to errors, especially when human operators are involved.

Innovation Solution

The method involves creating a reference software stack that can be imaged and sent to SSFTDs, allowing them to generate their own software stack locally, using delta patch files for larger updates, and employing task sequences to automate the installation process, including re-imaging, incremental, and cumulative updates, while ensuring secure and up-to-date version control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software upgrades are distributed over the network to all SSFTDs, then all SSFTDs can receive updates, but network bandwidth limitations make this impractical or economical

Engineering Contradiction:
Improvesoftware update consistencyVSAvoidnetwork bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The software stack is segmented into a reference stack maintained centrally and local stacks at each SSFTD. Only incremental updates (deltas) are transmitted over the network rather than complete software stacks, significantly reducing bandwidth consumption while maintaining update consistency across all devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A reference software stack is built and imaged in advance at a reference machine. This pre-prepared image serves as the baseline for generating incremental updates, allowing the system to efficiently distribute only the necessary changes rather than complete software packages.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If a complex installation sequence is performed locally at each SSFTD, then software can be installed, but the process is prone to error and not reliably repeatable

Engineering Contradiction:
Improvesoftware installation capabilityVSAvoidinstallation repeatability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

Each SSFTD automatically executes task sequences locally without requiring human intervention. The system self-manages the installation process by retrieving task sequences from the reference machine, executing them against the local software stack, and handling updates autonomously, which eliminates human error and ensures consistent repeatability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual installation procedures are replaced with automated electronic task sequences. The mechanical process of human operators physically installing software is substituted with automated electronic execution of predefined installation scripts, ensuring consistency and reliability across all SSFTDs.

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

3Ease of operation

If human service operators are involved in locally managing the installation sequence, then installation can be performed, but errors are more likely to occur

Engineering Contradiction:
Improveinstallation managementVSAvoidinstallation accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system eliminates the need for human service operators by implementing self-service automation. SSFTDs automatically retrieve task sequences, execute installation and update procedures, and manage their own software stacks without human intervention, thereby eliminating human error while maintaining operational capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Task sequences serve as an intermediary between the reference software stack and the local SSFTD execution environment. These standardized task sequences mediate the installation process, providing a reliable, error-free interface that eliminates the need for human operators while ensuring consistent execution across all devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Stability of the object's composition

If all SSFTDs are upgraded within a short time window, then consistent user experience is achieved, but the complexity of coordination increases

Engineering Contradiction:
Improveuser experience consistencyVSAvoidupgrade coordination
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

A universal reference software stack serves all SSFTDs regardless of their individual states. The reference machine maintains a single authoritative software image that can be used to generate task sequences for any SSFTD, simplifying coordination while ensuring all devices receive consistent updates and maintain uniform user experiences.

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

Solution Approach 2:

The system dynamically adapts task sequences based on the current state of each SSFTD. Rather than using a fixed upgrade process, the system generates customized task sequences that account for the specific software version and state of each device, enabling coordinated upgrades across the fleet while managing individual device variations efficiently.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9128799B2Programmatic creation of task sequences from manifests
Publication Date: 2015.09.08 BANK OF AMERICA CORP
  • US9128799B2 patent drawing
  • US9128799B2 patent drawing
  • US9128799B2 patent drawing

AI summary

Method, apparatuses, and systems are described for receiving, by a computer, data representing a first manifest and a second manifest, the first manifest identifying at least some of a plurality of software components and the second manifest identifying at least some of the plurality of software components; determining a first one of the software components that is identified by the second manifest and not identified by the first manifest; generating, by the computer, a task sequence comprising instructions for installing the first one of the software components to a software stack; and recording, by the computer, data representing the task sequence to a computer-readable medium.