Unified Package Dependency Graph for Concurrent Software Installation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software management systems struggle with efficiently managing the unification of multiple concurrent activities in a computing environment, particularly in complex software ecosystems with diverse package dependencies and licensing requirements.

Innovation Solution

A method and system that analyze homogenous and heterogenous dependencies using semantic versioning, generate dependency graphs, and perform unification of acceptable package versions, while determining policies and claim requirements to ensure proper licensing and installation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple concurrent package installation activities are managed independently, then each activity can be processed separately, but the system complexity and difficulty of managing dependencies increase

Engineering Contradiction:
Improveease of managing package installationVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges multiple concurrent package installation activities into a unified management system that processes dependencies across all activities simultaneously. The system consolidates dependency graphs from multiple activities and performs coordinated version unification, transforming independent complex processes into a single integrated operation that reduces overall system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal package management system that handles multiple types of activities (build, test, deploy, etc.) through a single dependency analysis and unification mechanism. This multi-functional approach allows the system to manage diverse package installation scenarios using the same core methodology, simplifying operation across different activity types.

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

2Reliability

If package versions are unified across multiple activities, then dependency conflicts are reduced, but the time required to analyze and determine acceptable versions increases

Engineering Contradiction:
Improvedependency closure correctnessVSAvoidunification analysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary dependency analysis by constructing complete dependency graphs for all package activities before attempting unification. The system pre-identifies all dependencies, versions, and conflicts across activities, allowing the actual unification process to proceed more efficiently with already-analyzed data rather than discovering conflicts during installation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified representations (dependency graphs) that copy and model the complex package dependency relationships. These graphical models allow the system to analyze version compatibility and conflicts efficiently without directly manipulating the actual package files, reducing the computational overhead of the unification process.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If comprehensive dependency analysis is performed for all packages, then version compatibility is ensured, but the computational resources and processing time required increase

Engineering Contradiction:
Improveversion compatibility accuracyVSAvoidpackage installation speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent segments the comprehensive dependency analysis into hierarchical levels: first analyzing direct dependencies, then transitive dependencies, and finally resolving conflicts at each level systematically. The dependency graph structure divides the analysis into manageable nodes and edges, allowing the system to process complex package relationships in organized segments rather than as a monolithic computation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dependency graphs as intermediary data structures that mediate between the raw package information and the unification decision-making process. These graphs serve as a computational intermediary that pre-organizes dependency relationships, version constraints, and conflict information, reducing the computational burden on the final unification algorithm.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If licensing requirements are strictly validated during unification, then compliance is ensured, but the flexibility in selecting acceptable package versions is reduced

Engineering Contradiction:
Improvelicensing complianceVSAvoidversion selection flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies different validation rules and compliance checks to different packages and dependency contexts based on their specific licensing requirements. Rather than applying a uniform strict validation across all packages, the system tailors the compliance checking to each package's license type and requirements, maintaining flexibility where possible while ensuring compliance where necessary.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12204884B2Method and system for managing unification of plurality of concurrent activities in a computing environment
Publication Date: 2025.01.21 AKCS PROD HLDG CO LLC
  • US12204884B2 patent drawing
  • US12204884B2 patent drawing
  • US12204884B2 patent drawing

AI summary

A method and system for managing unification of plurality of concurrent activities in computing environment is disclosed. Method includes receiving request from user to modify computing environment and retrieving set of available versions of packages associated with existing activity or new activity, from package source database, based on receiving request. Method includes analyzing iteratively homogenous and heterogenous dependencies for retrieved set of available versions of the packages, using semantic versioning. Method includes determining acceptable versions of packages, upon analyzing. Further, method includes generating dependency graphs for the acceptable versions of the packages. Furthermore, method includes performing unification of acceptable versions of the packages based on dependency graphs. Method includes generating a set of recommendations to acquire required licenses or resolve other policy requirements, and installing the final unified version of the packages into an installation target location which is independent of other installation target locations, based on acquiring required licenses.