Mobile Data Caching with Partitioned Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile applications often generate unpredictable data requests that can lead to an unexpected load on enterprise data sources, making it resource-intensive to service these requests efficiently while shielding the data sources from negative impacts.

Innovation Solution

Implementing a data caching system with cache synchronization, where each cache partition is associated with a mobile business object metadata of a distinct device, allowing for independent refresh of pertinent partitions to reduce data traffic and redundant requests on the data source, and employing caching policies like scheduled, on-demand, and row-level caching to manage data access efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If mobile applications directly access data sources to retrieve data, then data requests can be served quickly, but data sources are exposed to unpredictable load and resource consumption increases

Engineering Contradiction:
Improvedata request response speedVSAvoidunpredictable load on data source
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

A caching layer is introduced as an intermediary between mobile applications and data sources. The cache receives data requests from applications and serves data from local storage when available, only querying the data source when cache misses occur. This mediator architecture allows fast local response while shielding the data source from direct application traffic spikes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary data retrieval and storage in the cache before actual application requests occur. By proactively caching data that applications are likely to need, the system prepares data in advance, reducing the frequency and impact of direct requests to the data source while maintaining fast access speeds.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If enterprise data is stored in disparate formats at geographically distributed locations, then data availability is improved, but data servicing becomes resource intensive

Engineering Contradiction:
Improvedata availabilityVSAvoidresource consumption for data servicing
Core Design Contradiction:
Adaptability or versatilityVSPower

Solution Approach 1:

The caching system segments data into separate cache partitions, each associated with specific mobile business objects or data types. This segmentation allows the system to manage and serve data from distributed locations more efficiently by processing smaller, organized units rather than handling entire disparate data structures, reducing the resource intensity of data servicing while maintaining availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The caching layer provides a universal interface that abstracts the complexity of disparate data formats and geographically distributed locations. The cache serves multiple functions: it stores data from various sources, formats data consistently, and provides unified access to applications, thereby reducing the resource consumption required to service data from diverse locations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If cache partitions are refreshed independently and concurrently, then data freshness is improved, but synchronization complexity increases

Engineering Contradiction:
Improvedata freshnessVSAvoidsynchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache is divided into independent partitions, each responsible for specific data or mobile business objects. Each partition can be refreshed independently and concurrently without interfering with other partitions. This segmentation simplifies synchronization by allowing parallel operations on isolated data units, maintaining data freshness while reducing overall synchronization complexity through divide-and-conquer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic refresh strategies where cache partitions are updated based on real-time needs and data change events. Rather than static synchronous updates, the system dynamically determines which partitions need refreshing and when, allowing concurrent operations while maintaining consistency. This dynamic approach balances data freshness requirements with synchronization complexity management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8788458B2Data caching for mobile applications
Publication Date: 2014.07.22 SYBASE INC
  • US8788458B2 patent drawing
  • US8788458B2 patent drawing
  • US8788458B2 patent drawing

AI summary

Systems, methods, computer program product embodiments and combinations and sub-combinations thereof for data caching and cache synchronization are described herein. An embodiment includes comparing data in a cache with data stored at a data source and determining database operations needed to synchronize one or more partitions of the cache with the data source. Each cache partition is associated with mobile business object (MBO) metadata of a distinct mobile device and the determined database operations are executed to synchronize the partitions with the data source. By refreshing only those partitions which are pertinent to a given device, embodiments of the invention may increase parallelism by allowing multiple partitions to refresh concurrently. The embodiment further comprises reviewing a caching policy associated with the cache. The caching policy may be selected in a manner that reduces data traffic and redundant requests on the data source.