Distributed Tray Updates via Source Control Changesets

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecentralized controlVSAvoidserver availability
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

2Loss of time

If incremental updates using changesets are implemented, then update time and resources are reduced, but complexity in managing version differences increases

Engineering Contradiction:
Improveupdate durationVSAvoidversion management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

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

3Productivity

If trays are updated without uninstallation, then service continuity is maintained, but risk of introducing errors or changing functionality undesirably increases

Engineering Contradiction:
Improveservice continuityVSAvoidupdate safety
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3392761B1Distributed incremental updating of trays using a source control system
Publication Date: 2022.06.29 SERVICENOW INC
  • EP3392761B1 patent drawingFigure 1
  • EP3392761B1 patent drawingFigure 2
  • EP3392761B1 patent drawingFigure 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.