Cloud Application Fragmentation for Mobile Storage Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users of mobile devices face delays and storage issues when downloading large applications, as they must wait for the entire application to download before using it, and often need to delete existing applications to accommodate new ones.

Innovation Solution

The technology allows for streaming and caching of application fragments, where a processing server decomposes an application into user interface-specific fragments, prioritizing their download based on dependency and user access patterns, enabling the application to be launched before full download, and optimizing storage by purging unnecessary fragments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire application is downloaded before use, then the application can be run without interruption, but the download time is significant and storage space is consumed

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

Solution Approach 1:

The application is divided into multiple fragments, each corresponding to specific user interfaces or functional modules. The computing device downloads and caches only the fragments needed for current use rather than the entire application, enabling incremental loading and reducing initial download time while maintaining execution continuity for the active portion

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by downloading and caching application fragments in advance based on predicted user access patterns and dependency relationships. Frequently accessed fragments are prioritized for caching, so that when the user launches the application, the necessary components are already available locally, eliminating wait time

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the entire application is downloaded, then all functionalities are available, but storage space on the mobile device is insufficient

Engineering Contradiction:
Improveapplication functionalityVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

By segmenting the application into independent fragments, the system allows the device to store only the portions of the application that are currently needed. Less frequently used fragments can be removed or not downloaded at all, significantly reducing storage requirements while maintaining access to full functionality through on-demand loading

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic cache management where unused application fragments are automatically removed from local storage to free up space. When needed, these fragments can be重新 downloaded from the server, allowing the device to maintain a limited local cache while preserving access to the complete application suite

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8977723B2Cloud based application fragmentation
Publication Date: 2015.03.10 RAZER ASIA PACIFIC
  • US8977723B2 patent drawing
  • US8977723B2 patent drawing
  • US8977723B2 patent drawing

AI summary

Technology is disclosed for decomposing an application into fragments and streaming the application fragments for execution on a mobile computing device. A fragment presents a user interface of the application and needs a set of resources, e.g., images, icons, etc. to be executed. A server determines a set of fragments for the application and streams them to the device as and when the device needs a particular fragment. The server determines the set of fragments in various ways. For example, the server executes an emulator that simulates the execution of the application by the user and determines fragment data including the set of fragments, resources needed by each of the fragments, and various possible navigations between the fragments. In another example, the server receives such fragment data from various users executing the application on various devices, and aggregates them based on aggregating policy to obtain an aggregated fragment data.