OData Offline Cache Dual-Storage Architecture for Mobile Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data transfer systems face challenges in maintaining seamless data operations across both online and offline modes for mobile devices, leading to delays and potential data loss due to intermittent connectivity and lag in information exchange.

Innovation Solution

A system with a mobile client device that employs a dual-cache architecture, where a first cache maintains server-synced data and a second cache queues updates for offline storage, ensuring data integrity and seamless operation by sending updates when connectivity is restored, using OData Offline Cache for efficient storage and incremental updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application follows online operation pattern with backend data services, then data consistency is maintained, but the application cannot operate when the user enters a no connectivity zone

Engineering Contradiction:
Improvedata consistencyVSAvoidoffline operation capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments data storage into two distinct caches: a first cache for server-synced data and a second cache for offline updates. This segmentation allows the application to maintain data consistency with the server while simultaneously enabling offline operations by storing local updates in the second cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dual-cache architecture acts as an intermediary between the user interface and the backend server. The first cache mediates server communications while the second cache mediates offline operations, allowing seamless transition between online and offline modes without direct connection requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application operates in online mode only, then real-time data synchronization is achieved, but data updates may be lost when the application is closed during offline time

Engineering Contradiction:
Improvedata synchronizationVSAvoiddata update loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary action by storing data updates in the second cache (offline cache) before connectivity is restored. This ensures that even if the application is closed during offline time, the updates are preserved in the second cache and can be synchronized later when connectivity is available.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The dual-cache architecture enables continuity of useful action by maintaining the ability to accept and store data updates continuously, regardless of connectivity status. The second cache ensures that the data modification function remains continuous even when offline, preventing data loss.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the application reads business data through the network, then data is always current, but lag time is introduced in data access

Engineering Contradiction:
Improvedata currencyVSAvoiddata access delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-loading and caching data from the server in the first cache before it is actually needed. This allows the application to serve data from the cache rather than querying the server in real-time, eliminating lag time while maintaining data currency for the cached period.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses partial action by caching only the data that is frequently accessed or currently needed, rather than maintaining continuous real-time connections for all data operations. This reduces network overhead and lag time while still providing current data for the cached portions.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If updates are posted to the backend data service immediately, then data consistency is maintained, but the operation cannot continue during offline time

Engineering Contradiction:
Improvedata consistencyVSAvoidoffline operation continuity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system segments the update posting process into two paths: immediate posting to the server for online operations, and queuing in the second cache for offline operations. This segmentation allows the application to maintain data consistency when online while ensuring operational continuity when offline.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by queuing updates in the second cache before connectivity is restored, rather than requiring immediate server posting. This allows the application to continue operating offline and automatically synchronize updates later when connectivity is available.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9531830B2Odata offline cache for mobile device
Publication Date: 2016.12.27 SAP SE
  • US9531830B2 patent drawing
  • US9531830B2 patent drawing
  • US9531830B2 patent drawing

AI summary

A server system may include a request handler and a storage. The request handler may receive at least one request from a program on a user side. The storage may include a first cache and a second cache, storing data in format directly compatible to the program. The first cache stores only data matching to a server. If the at least one request corresponds to a change to the data from the program, then the second cache stores the at least one request and the request handler sends the at least one request to the server for updating the change.