Bundle Package Generation for Selective Resource Download

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application deployment packages contain unnecessary data for specific devices, leading to increased bandwidth and storage usage, as they often include features not supported by the device, such as different resolutions and languages, which are not selectively downloaded or installed.

Innovation Solution

Generating a bundle package that includes app packages and resource packages, allowing for selective download and installation of only relevant components based on the device's characteristics, using digital signatures for authentication and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single application deployment package supports multiple processors, operating systems, languages, and resolutions, then the application can be universally deployed across different devices, but the package size increases and consumes unnecessary bandwidth and storage on each device

Engineering Contradiction:
Improveapplication compatibilityVSAvoidpackage size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The application deployment package is segmented into a base application package and multiple resource packages. Each resource package contains resources for a specific processor architecture, operating system, language, or resolution. The device selectively downloads only the resource packages it needs, maintaining universal compatibility while minimizing download and storage requirements.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If all application resources are included in the deployment package, then the application can run on any device without additional downloads, but devices download and store resources they will not use

Engineering Contradiction:
Improvedeployment simplicityVSAvoidbandwidth consumption
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-organizing resources into separate resource packages during application creation. At deployment time, the device's characteristics are assessed and the appropriate resource packages are pre-selected for download, avoiding unnecessary bandwidth consumption while maintaining deployment simplicity through automated selection.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all application resources are included in the deployment package, then the application is complete upon installation, but devices consume storage space for unused resources

Engineering Contradiction:
Improveapplication completenessVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

Each device receives resources with local quality optimized for its specific characteristics. The base application package is installed on all devices, but resource packages are selectively downloaded based on the device's processor architecture, operating system, language preferences, and display resolution, ensuring application completeness while minimizing storage usage.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3005100B1Bundle package generation
Publication Date: 2018.04.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3005100B1 patent drawingFigure 1
  • EP3005100B1 patent drawingFigure 2
  • EP3005100B1 patent drawingFigure 3

AI summary

One or more techniques and/or systems are provided for generating a bundle package, digitally signing the bundle package, selectively disturbing the bundle package, and/or indexing one or more resource packages retrieved from the bundle package. That is, a bundle package (e.g., an application or game bundle package) comprises one or more app packages comprising application code configured to execute on various computing environments (e.g., operating systems, processors, etc.). The bundle package may comprise one or more resource packages comprising supplemental data used to provide optional user experience functionality for the application (e.g., French language support, high resolution textures, a gaming pad support, etc.). In this way, a client device may selectively download portions of the bundle package that may be relevant, which may mitigate download bandwidth, storage space, or resources otherwise used to obtain unnecessary portions of the bundle package (e.g., a tablet device may merely download low resolution textures).