Software Asset Deployment via Dynamic Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software deployment process is complex and inefficient, requiring the creation of large installers and archives, leading to performance issues and inconvenience for users, as well as a significant development burden, due to the need for detailed release planning and the potential for users to install incorrect versions (e.g., 32-bit vs. 64-bit) of software.

Innovation Solution

A method and apparatus for deploying software as a service, where an application blueprint is created and stored on a staging server, allowing only necessary files to be downloaded and installed based on user system parameters, eliminating the need for complex installers and large packages, and enabling automatic software updates by comparing assets on the user computer with those on the server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software packaging and installer creation is used, then all necessary files and configurations are included for deployment, but the process becomes complex and time-consuming requiring detailed release planning

Engineering Contradiction:
Improvesoftware deployment completenessVSAvoiddeployment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential software assets (binaries, libraries, content) from the traditional installer package and stores them separately in an asset repository. The installer is replaced by a service that dynamically retrieves and deploys only the necessary assets based on user system parameters, eliminating the complexity of creating and maintaining comprehensive installer packages while ensuring deployment completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The software deployment is segmented into distinct components: asset storage, asset retrieval, and asset installation. The system divides software assets into categorized groups (binaries, libraries, content) that can be independently managed and deployed. This segmentation allows the deployment process to be simplified while maintaining reliability through systematic asset management.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If complete software packages are distributed for all configurations, then users can install any version, but the download size and installation time increase significantly

Engineering Contradiction:
Improvesoftware version compatibilityVSAvoiddownload package size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system implements local quality by customizing the software deployment based on specific user system parameters (operating system, architecture, version). Instead of providing a universal complete package, the asset service retrieves and deploys only the assets matching the user's specific configuration, reducing download size while maintaining adaptability to various system types.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial action by deploying only the necessary subset of software assets required for the user's specific system configuration rather than the complete software package. This approach provides exactly what is needed (sufficient action) without including unnecessary components for other configurations, thereby reducing download package size while maintaining full functionality for the target system.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If traditional installer processes are used, then software can be deployed to users, but users may inadvertently install incorrect versions leading to performance issues

Engineering Contradiction:
Improvesoftware installation simplicityVSAvoidsoftware version correctness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The asset service implements feedback by receiving user system parameters and using them to automatically determine the correct software assets to deploy. The system continuously monitors system configuration and retrieves the appropriate version, ensuring version correctness while maintaining installation simplicity through automated parameter-based asset selection.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies self-service by automatically matching user system parameters with the correct software assets without requiring user intervention to select versions. The asset service independently retrieves and deploys the appropriate software components based on detected system characteristics, eliminating the need for users to manually choose versions and preventing incorrect installations while keeping the process simple.

Inventive Principle:
Principle #25Self-service

4Reliability

If full software packages are deployed for updates, then all changes are included, but the update process requires significant time and user inconvenience

Engineering Contradiction:
Improvesoftware update completenessVSAvoidupdate deployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The update process extracts and deploys only the specific assets that have changed since the previous version, rather than redistributing the complete software package. The asset service identifies modified binaries, libraries, or content and retrieves only those incremental changes, ensuring update completeness while dramatically reducing deployment time and user inconvenience.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies partial action by deploying only the necessary incremental changes required for the software update rather than the complete software package. This provides sufficient action to achieve the update goal while minimizing the amount of data transferred and installed, thereby reducing update deployment time while maintaining reliability through comprehensive change detection.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9411571B2Method and apparatus for deploying software as a service
Publication Date: 2016.08.09 ADOBE INC
  • US9411571B2 patent drawing
  • US9411571B2 patent drawing
  • US9411571B2 patent drawing

AI summary

A computer implemented method and apparatus for deploying software as a service. The method comprises defining, in metadata, dependencies between a software product and associated dependency assets that are associated with the software product, wherein the software product comprises a plurality of software product assets; receiving a request for the software product from a computer; and downloading to the computer the software product assets and associated dependency assets identified in the metadata for the computer based on an operating system and one or more capabilities of the computer.