Distributed Tray Updates via Source Control Changesets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently updating trays used for executing applications on servers, as centralized updates can cause downtime and are not optimally timed due to varying server loads, and may undesirably change application functionality or cause errors.
Innovation Solution
Implementing a distributed incremental updating system that allows trays to be updated from a source control system without uninstallation, using a changeset of file differences between versions, managed by tray management software with an API, enabling updates based on client requests and optimizing the update process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If centralized updates are used to update trays on servers, then updates can be controlled from a central location, but server downtime increases and update timing cannot be optimized for varying server loads
Solution Approach 1:
The patent divides the centralized update system into distributed update agents running on individual servers. Each server independently manages its own tray updates by communicating with the source control system, eliminating the need for centralized update coordination and allowing updates to occur during low-load periods without affecting overall system availability.
Solution Approach 2:
Servers are equipped with update agents that autonomously monitor the source control system for tray updates, retrieve changesets, and apply updates without requiring centralized coordination. This self-service approach allows each server to optimize its update timing based on local load conditions, maintaining high availability while still receiving controlled updates.
2Loss of time
If incremental updates using changesets are implemented, then update time and resources are reduced, but complexity in managing version differences increases
Solution Approach 1:
The patent introduces an update agent as an intermediary between the source control system and the tray application. This agent handles the complexity of retrieving changesets, applying incremental updates, and managing version transitions, thereby reducing update time while containing the complexity within the agent rather than exposing it to the overall system.
Solution Approach 2:
The patent replaces manual or centralized tray update mechanisms with an automated update agent that uses source control changesets. This substitution eliminates the need for manual update orchestration and reduces update duration by automatically retrieving and applying only the necessary file differences between versions.
3Productivity
If trays are updated without uninstallation, then service continuity is maintained, but risk of introducing errors or changing functionality undesirably increases
Solution Approach 1:
The update agent performs preliminary actions by retrieving and validating changesets from the source control system before applying them to the running tray. This allows pre-update verification and rollback capability, maintaining service continuity while reducing the risk of introducing errors through careful preparation and validation before the actual update occurs.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A source control system is used for the distributed incremental updating of trays that include all of the dependencies needed for an application to execute within a computing environment. An application of a first version of a tray is executed on a server responsive to the first version of the tray being retrieved from a source control system. Tray management software of the first version of the tray receives a request to update the tray to a second version. The tray management software requests a changeset including file differences between the first and second versions of the tray from the source control system. Responsive to a determination by the tray management software that there are no pending requests preventing an update, the tray is updated from the first version to the second version by updating files in the tray according to the changeset.