On-Demand Extension Update System with Version Checking
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If extensions are pushed to customer servers proactively, then extension availability is improved, but network traffic and server processing increase unnecessarily
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.
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.
2Reliability
If extensions are updated frequently on customer servers, then extension currency is improved, but service interruptions increase
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.
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.
3Ease of operation
If extensions are stored centrally in a repository, then update management is improved, but system complexity increases
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.
Data Source
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.


