Fragment-Based Mobile App Streaming via Server Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mobile application distribution methods require users to download entire applications, which can be time-consuming and storage-intensive, especially for large applications with multimedia content, forcing users to delete existing apps to accommodate new ones.

Innovation Solution

The technology allows users to run applications by streaming and caching fragments of the application, where each fragment corresponds to a user interface or set of resources, prioritized based on dependency and user access patterns, enabling seamless launch and operation without full download.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire application is downloaded before running, then the application can be executed without interruptions, but the download time and storage space required increase significantly

Engineering Contradiction:
Improveapplication execution continuityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The application is divided into multiple fragments, where each fragment corresponds to specific user interfaces or functional modules. The server streams only the necessary fragments to the mobile device based on user access patterns and dependency relationships, rather than requiring the entire application to be downloaded. This segmentation enables partial application execution, reducing download time while maintaining execution continuity for the accessed portions.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire application is downloaded before running, then the application can be executed without interruptions, but the storage space required on the mobile device increases

Engineering Contradiction:
Improveapplication execution continuityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The application is divided into multiple fragments, where each fragment corresponds to specific user interfaces or functional modules. The server streams only the necessary fragments to the mobile device based on user access patterns and dependency relationships, rather than requiring the entire application to be downloaded. This segmentation enables partial application execution, reducing storage space requirements while maintaining execution continuity for the accessed portions.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If only application fragments are streamed, then the download time and storage space are reduced, but the system complexity increases due to fragment management and dependency tracking

Engineering Contradiction:
Improvedownload timeVSAvoidfragment management system
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The server acts as an intermediary that manages the complexity of fragment decomposition, dependency relationship establishment, and streaming orchestration. The server analyzes user access patterns, determines fragment dependencies, and streams fragments in the appropriate sequence to the mobile device. This centralizes the complex management logic on the server side, reducing the complexity burden on the mobile device while enabling efficient fragment-based application delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9210203B2Resource based mobile device application streaming
Publication Date: 2015.12.08 RAZER ASIA PACIFIC
  • US9210203B2 patent drawing
  • US9210203B2 patent drawing
  • US9210203B2 patent drawing

AI summary

Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.