Cache Conflict Detection for Mobile Data Consistency

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, causing data inconsistencies and validity issues due to concurrent updates across geographically distributed systems.

Innovation Solution

A cache conflict detection system that provides a partial graph of data to mobile devices, detects changes, and determines if the underlying document version is outdated, allowing for cache conflict resolution to maintain data consistency and validity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If mobile applications directly access data sources to retrieve data, then data requests can be fulfilled quickly, but the data sources experience unexpected load and data consistency issues

Engineering Contradiction:
Improvedata request response speedVSAvoiddata consistency and validity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a cache as an intermediary component between mobile applications and enterprise data sources. The cache receives data requests from applications, provides cached data responses, and only forwards requests to the data source when necessary. This mediator architecture allows applications to access data quickly from the cache while protecting the data source from unexpected loads and maintaining data consistency through proper cache invalidation mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a cache is introduced to reduce load on data sources, then the load on enterprise data sources is reduced, but cache conflicts and data consistency issues arise

Engineering Contradiction:
Improveload on data sourcesVSAvoiddata consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through version tracking and invalidation policies. The system monitors document versions and cache validity states, using this feedback information to determine when cache data is stale and needs to be refreshed or invalidated. This feedback loop allows the cache to automatically maintain data consistency with the data source without requiring constant synchronization, thus reducing load while preserving reliability.

Inventive Principle:
Principle #23Feedback

3Productivity

If concurrent requests are handled by the data source, then all data requests are processed, but resource intensity and processing complexity increase

Engineering Contradiction:
Improvedata request processing capacityVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the data request processing function by introducing a cache layer that handles request routing and response caching independently from the data source processing logic. The cache manages its own internal state for tracking valid data and invalidation conditions, separating the complexity of concurrent request handling from the data source. This segmentation allows the data source to focus on data processing while the cache handles request coordination, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9110807B2Cache conflict detection
Publication Date: 2015.08.18 SYBASE INC
  • US9110807B2 patent drawing
  • US9110807B2 patent drawing
  • US9110807B2 patent drawing

AI summary

Methods, systems, and computer program products for cache conflict detection are provided. A computer-implemented method may include providing a partial graph of data to an application executing on a mobile device where the partial graph is derived from a document comprising a graph of data having a plurality of nodes, receiving a modified partial graph from the application where the modified partial graph includes one or more changes to the partial graph, and determining a document version used to derive the partial graph is no longer a most recent version of the document.