Mobile App Experiment Platform Offline Data Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile application developers face challenges in conducting experiments to optimize their applications when test devices are disconnected from the network, as they cannot provide response information to the experiment server, hindering the analysis and optimization process.

Innovation Solution

The system allows test devices to store response information locally and provide it to the experiment server when connectivity is restored, enabling the experiment server to conduct experiments and analyze data even when devices are offline, by using a secondary experiment engine to assign and manage experimental treatments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If test devices are disconnected from the network to conduct experiments, then device autonomy and offline operation capability are improved, but the ability to provide response information to the experiment server deteriorates

Engineering Contradiction:
Improveoffline operation capabilityVSAvoidresponse information transmission
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by storing response information locally on the test device before network disconnection occurs. The experiment server sends experimental treatments and configuration information to the test device in advance, and the device stores this data along with any generated response information in its local storage, ensuring data is available even when offline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The test device acts as an intermediary by maintaining a local storage buffer that mediates between the experiment server and the offline operation mode. This local storage serves as a temporary holding area for response information, allowing the device to function autonomously while preserving the ability to synchronize data with the server when connectivity is restored.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If test devices continuously connect to the network to provide response information, then data synchronization and analysis capability are improved, but energy consumption and network dependency increase

Engineering Contradiction:
Improvedata synchronizationVSAvoidnetwork communication energy
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

Instead of continuous network communication, the system implements periodic action by establishing trigger conditions for data synchronization. Response information is uploaded to the experiment server only when specific conditions are met, such as when the device reconnects to the network, when storage capacity is reached, or when experiment phases are completed, thereby reducing unnecessary energy consumption.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system maintains continuity of useful action by ensuring that experiments can proceed uninterrupted during offline periods. The test device continues to collect and store response information locally without requiring network connectivity, ensuring that the experimental process remains continuous while network communication occurs only when necessary.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If test devices store response information locally during offline periods, then offline experimentation capability is improved, but data storage requirements and device memory usage increase

Engineering Contradiction:
Improveexperimentation continuityVSAvoidlocal storage data
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential and necessary data for experimentation and storage. Configuration information and experimental treatments are selectively stored on the test device, and only response information directly related to the current experiment is retained in local storage, removing unnecessary data to minimize storage requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements a discard and recover mechanism where response information is temporarily stored locally on the test device during offline periods, then discarded from local storage once it is successfully uploaded and recovered on the experiment server. This ensures that local storage is used only as a temporary buffer rather than permanent storage.

Inventive Principle:
Principle #34Discarding and recovering

4Ease of operation

If the experiment server manages all experimental assignments centrally, then experiment control and coordination are improved, but system complexity and server load increase

Engineering Contradiction:
Improveexperiment managementVSAvoidserver processing complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system segments the experiment management functionality by separating the experiment server's role in sending configuration information and treatments from the test device's role in storing and executing them. This segmentation allows the server to focus on coordination and data collection while the device handles local experiment execution, reducing server load and complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3022691B1Mobile application optimization platform
Publication Date: 2021.09.22 ACCENTURE GLOBAL SERVICES LTD
  • EP3022691B1 patent drawingFigure 1A
  • EP3022691B1 patent drawingFigure 1B
  • EP3022691B1 patent drawingFigure 1C

AI summary

A device may receive configuration information for an experiment associated with optimizing an application. The configuration information may identify a group of experimental treatments and information identifying a target event. The device may identify an experimental treatment to be implemented in the application, and may implement the experimental treatment in the application. The device may collect response information based on implementing the experimental treatment. The device may detect the target event associated with the experiment, indicating that the response information is to be provided to an experiment server. The device may determine that the experiment server is unreachable and may store the response information. The response information may be stored to allow the response information to be provided to the experiment server at a later time. The response information may be provided to the experiment server to permit the experiment server to determine a result of the experiment.