Binary Image Update Dependency Graph Cycle Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software update methods face challenges in efficiently updating system images without duplicating the source image, especially when storage is limited, due to cyclic dependencies in transfer ordering, which can lead to incorrect or incomplete updates.

Innovation Solution

A method that determines a dependency graph, breaks cycles to create an acyclic graph, and orders transfers to ensure correct execution without duplicating the source image, using techniques like binary differencing and transfer list management to generate and apply update packages in-place.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the source image is duplicated to create a target image for updates, then update accuracy is improved, but storage requirements increase

Engineering Contradiction:
Improveupdate accuracyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The update process is segmented into multiple transfers that operate on different partitions of the image. Instead of duplicating the entire source image, the system divides the image into partitions and applies transfers selectively to specific partitions, reducing the amount of data that needs to be stored and transferred while maintaining update accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary dependency graph that mediates between the source image and target image. This graph represents the sequence of transfers and their dependencies, allowing the system to apply updates incrementally through multiple passes rather than requiring a complete image duplication, thus reducing storage requirements while ensuring accurate updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple transfers are applied to update the image, then update completeness is improved, but transfer ordering complexity increases due to cyclic dependencies

Engineering Contradiction:
Improveupdate completenessVSAvoidtransfer ordering complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis to construct a dependency graph that represents all transfers and their dependencies before executing the actual image updates. By pre-computing the transfer sequence and identifying cyclic dependencies in advance, the system can resolve ordering complexities before the update process begins, ensuring complete and accurate updates without runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic approach to transfer ordering by using a dependency graph that can be analyzed and adjusted based on the specific update requirements. The system dynamically determines the optimal transfer sequence by detecting and resolving cyclic dependencies, allowing flexible adaptation to different update scenarios while maintaining transfer completeness.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If in-place updates are performed without duplicating the source image, then storage efficiency is improved, but update correctness may be compromised due to cyclic dependencies

Engineering Contradiction:
Improvestorage efficiencyVSAvoidupdate correctness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The image is segmented into multiple partitions that can be updated independently through selective transfers. This segmentation allows in-place updates to proceed without requiring complete image duplication, as each partition can be updated using only the necessary source data, maintaining storage efficiency while ensuring update correctness through controlled partition-level operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dependency graph serves as an intermediary that coordinates in-place updates across multiple partitions. It tracks which partitions have been updated and manages the transfer sequence to prevent correctness issues arising from cyclic dependencies, enabling storage-efficient in-place updates while maintaining update reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10055216B2Minimizing image copying during partition updates
Publication Date: 2018.08.21 GOOGLE LLC
  • US10055216B2 patent drawing
  • US10055216B2 patent drawing
  • US10055216B2 patent drawing

AI summary

Apparatus and methods for updating binary images are described. A computing device can determine transfers for updating a binary source image to become a binary target image. A transfer can include a source memory reference for the source image and a target memory reference for the target image. The computing device can determine a graph based on ordering dependencies between the transfers. The graph can include vertices for the transfers with edges between vertices. The computing device can generate an edge from a first vertex for a first transfer to a second vertex for a second transfer, with the first transfer to be performed before the second transfer. The computing device can break any cycles present in the graph to obtain an acyclic graph. The computing device can order the transfers based on the acyclic graph and send the ordered transfers in an update package for the source image.