Occasionally-Connected Application Server Offline Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mobile device web browsing experiences are hindered by unreliable connections due to weak or non-existent cellular signals, leading to errors and downtime, as they require continuous internet access to function effectively.

Innovation Solution

An occasionally-connected application server platform that provides a framework for developing, deploying, and managing mobile applications with a simple Web-like programming model, integrating with existing enterprise components, allowing data to be cached and synchronized between devices and external systems, enabling offline access and seamless synchronization when connections are restored.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If web browsing requires continuous internet connection, then content can be retrieved from server, but connection reliability deteriorates in weak signal zones

Engineering Contradiction:
Improveconnection reliabilityVSAvoidweb browsing availability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements offline caching of web content (HTML, CSS, JavaScript, images) before connection loss occurs. The system proactively stores content locally in the mobile device's file system, enabling users to access cached content without active network connection. This preliminary action resolves the contradiction by ensuring browsing availability (improving ease of operation) while accepting that continuous connection is no longer required (maintaining reliability in weak signal zones).

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a local file system cache as an intermediary between the mobile device and remote web server. This intermediary layer stores copies of web content locally, allowing the device to function independently when server connection is unavailable. The cache mediator resolves the contradiction by decoupling content access from real-time network connectivity, improving reliability in areas with weak cellular signals.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If data is cached locally for offline access, then offline functionality is enabled, but data synchronization complexity increases

Engineering Contradiction:
Improveoffline access capabilityVSAvoidsynchronization mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback-based synchronization mechanism using ETags and version tracking. When content is cached offline, the system stores metadata including ETags and version identifiers. Upon reconnection, the device sends these identifiers to the server to verify content freshness. If content is outdated, the system automatically retrieves updates; if current, no synchronization is needed. This feedback loop enables offline access capability while managing synchronization complexity through intelligent content validation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the state parameter of cached content from static to dynamic by incorporating ETags and version metadata. These parameters allow the system to track content freshness and determine synchronization needs. By modifying the cached data structure to include these additional parameters, the system enables offline functionality while automating synchronization decisions, thereby managing the complexity of keeping offline and online content consistent.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If web content is delivered through browser requests, then content can be dynamically retrieved, but connection dependency increases

Engineering Contradiction:
Improvecontent deliveryVSAvoidnetwork dependency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary caching of web content (HTML, CSS, JavaScript, images) in the mobile device's local file system before network disconnection occurs. The system proactively stores complete web pages and their dependencies locally, enabling users to access cached content without active network connection. This resolves the contradiction by maintaining ease of operation (content accessibility) while eliminating network dependency for cached content.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a local file system cache as an intermediary layer between the mobile browser and remote web server. This intermediary stores local copies of web content, allowing the browser to serve content from the local cache rather than requiring real-time server requests. The intermediary resolves the contradiction by decoupling content delivery from network connectivity, improving reliability in areas with weak or no cellular signals.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7650432B2Occasionally-connected application server
Publication Date: 2010.01.19 ORACLE INT CORP
  • US7650432B2 patent drawing
  • US7650432B2 patent drawing
  • US7650432B2 patent drawing

AI summary

Providing a framework for developing, deploying and managing sophisticated mobile solutions, with a simple Web-like programming model that integrates with existing enterprise components. Mobile applications may consist of a data model definition, user interface templates, a client side controller, which includes scripts that define actions, and, on the server side, a collection of conduits, which describe how to mediate between the data model and the enterprise. In one embodiment, the occasionally-connected application server assumes that data used by mobile applications is persistently stored and managed by external systems. The occasionally-connected data model can be a metadata description of the mobile application's anticipated usage of this data, and be optimized to enable the efficient traversal and synchronization of this data between occasionally connected devices and external systems.