Application File Segmentation for Distribution Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software distribution systems face limitations in handling large application files, particularly due to size constraints and bandwidth considerations, which restrict the distribution of applications that exceed maximum binary size limits, and lack efficient methods for updating specific application components without affecting others.

Innovation Solution

The system splits application files into a core binary and supplemental files, allowing for separate distribution and updating of application components, with the application marketplace server identifying necessary files and the client determining which files to download based on device-specific versions and existing file versions on the device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If application files are distributed as single large binaries, then the application functionality is complete, but the distribution system cannot handle files exceeding maximum size limits

Engineering Contradiction:
Improveapplication sizeVSAvoiddistribution capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent divides application files into multiple components: a core binary file containing essential application code and one or more supplemental files containing additional content such as graphics, audio, video, or game levels. This segmentation allows the distribution system to handle each file separately within size limits while distributing complete applications larger than any single file limit.

Inventive Principle:
Principle #1Segmentation

2Reliability

If entire applications are re-distributed for updates, then all components are updated, but bandwidth usage increases and update efficiency decreases

Engineering Contradiction:
Improveupdate completenessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the specific supplemental files that need updating from the complete application package. The system identifies which supplemental files have newer versions available and downloads only those files rather than redistributing the entire application, including unchanged core binaries and other supplemental files.

Inventive Principle:
Principle #2Taking out (Extraction)

3Extent of automation

If supplemental files are downloaded over-the-air, then automatic updates are achieved, but download time and bandwidth consumption increase for large files

Engineering Contradiction:
Improveupdate automationVSAvoiddownload time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent introduces a side-loading mechanism that acts as an intermediary for transferring supplemental files. Users can download large supplemental files to a computer via high-speed wired connections and then transfer them to mobile devices through wired connections, bypassing the limitations of over-the-air downloads while maintaining automatic update capability through system coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2820539B1Distribution of application files
Publication Date: 2020.10.28 GOOGLE LLC
  • EP2820539B1 patent drawingFigure 1
  • EP2820539B1 patent drawingFigure 2
  • EP2820539B1 patent drawingFigure 3

AI summary

A system includes a server system interface arranged to receive, from a client application of one of a plurality of client computing devices, a communication that corresponds to a request to obtain or update a software application; and an application marketplace server system programmed to identify, in response to the communication, application files that include an application binary file that corresponds to the software application and one or more supplemental files associated with the software application, and to send information that relates to the application files to the client application in response to receiving the communication, and identify stored files on the computing device that correspond to the application files, determine particular ones of the application files to download based on the identified stored files and the information that relates to the application files sent from the application marketplace server system, and initiate download.