On-Demand Extension Update System with Version Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for updating extensions in applications face challenges in managing timing and distribution, particularly when new extensions become available at inconvenient times for servers, leading to inefficient network traffic and potential service interruptions.

Innovation Solution

A system where a backend server receives and stores extensions with timestamps from an administrator webserver, and upon request from a customer webserver, fetches and sends the most recent version of the extension only when needed, reducing unnecessary updates and network traffic by allowing on-demand delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensions are pushed to customer servers proactively, then extension availability is improved, but network traffic and server processing increase unnecessarily

Engineering Contradiction:
Improveextension availabilityVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The customer server autonomously determines whether it needs an extension update by comparing its local extension version with the version information from the repository, and only initiates downloads when necessary. This self-service approach eliminates unnecessary network traffic while ensuring extensions are available when needed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where the customer server queries the repository for extension version information, compares it with its local version, and only downloads updates when the repository version is newer. This feedback loop ensures extension availability while minimizing unnecessary network traffic by acting only when updates are actually needed.

Inventive Principle:
Principle #23Feedback

2Reliability

If extensions are updated frequently on customer servers, then extension currency is improved, but service interruptions increase

Engineering Contradiction:
Improveextension currencyVSAvoidservice continuity
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

Instead of forcing complete extension updates that may cause service interruptions, the system allows partial updates where only the specific extension files that need updating are downloaded and installed. This partial action approach maintains service continuity while still achieving extension currency by updating only what is necessary.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary version checking before initiating extension downloads. By first querying the repository for version information and comparing it with local versions, the system determines in advance whether updates are needed, avoiding unnecessary download and installation processes that could interrupt service.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If extensions are stored centrally in a repository, then update management is improved, but system complexity increases

Engineering Contradiction:
Improveupdate managementVSAvoidsystem architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The repository serves multiple functions: storing extension files, maintaining version information, and providing update verification. This multi-functionality consolidates what could be separate complex systems into a single universal component, simplifying the overall system architecture while improving update management efficiency.

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

Data Source

PatentUS9817653B2Updating extension in response to opening associated document
Publication Date: 2017.11.14 SAP SE
  • US9817653B2 patent drawing
  • US9817653B2 patent drawing
  • US9817653B2 patent drawing

AI summary

A non-transitory computer-readable storage medium may comprise instructions stored thereon. When executed by at least one processor, the instructions may be configured to cause a backend server to at least receive, from an administrator webserver, an extension, store the extension and an associated timestamp in a repository, the associated timestamp indicating a time at which the extension was received from the administrator webserver, receive a request for the extension from a customer webserver, the request for the extension identifying the extension, and in response to receiving the request for the extension, fetch the extension from the repository, and send the extension to the customer webserver.