Intelligent Data Caching for Client-Server Paging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client devices face challenges in displaying large datasets due to screen size limitations, leading to inefficient data transfer and processing, and potential conflicts when multiple users edit data simultaneously.

Innovation Solution

Intelligent data caching system that sends only the necessary data to the client, using query handles and row identifiers to manage paging and synchronization, reducing data traffic and processing load while ensuring up-to-date data display.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the server sends all query results to the client, then the client has complete data, but data traffic and processing load increase significantly

Engineering Contradiction:
Improvedata completenessVSAvoiddata traffic
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent divides the complete query result set into multiple pages, where each page contains a subset of data records. The server sends only the current page to the client rather than all results at once. This segmentation allows the client to display data in manageable portions while reducing data traffic and processing load on the client device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server performs preliminary actions by pre-calculating and sending row identifiers along with the data records in each page. This allows the client to efficiently navigate and retrieve specific data pages without requiring the server to send the entire result set, thereby reducing data traffic while maintaining data accessibility.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If the client displays all data records, then the user sees complete information, but the display screen cannot accommodate the data

Engineering Contradiction:
Improvedata completenessVSAvoiddisplay screen area
Core Design Contradiction:
Loss of informationVSArea of stationary object

Solution Approach 1:

The patent segments the data records into multiple pages, where each page contains a limited number of records that can be displayed on the screen. The client displays only the current page at a time, allowing the user to view data in manageable portions that fit the display screen area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces pagination as an additional dimension for data presentation. Instead of displaying all records in a single view, the system organizes data into sequential pages with navigation controls, allowing users to move through data in a structured manner that accommodates limited display space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If the client processes all data locally, then data processing is complete, but processing time and resources increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the data processing task from the client by implementing server-side pagination. The server handles the complex task of querying the database, calculating result sets, and dividing data into pages. The client only receives and displays the current page, significantly reducing processing time and resource requirements on the client device.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The server acts as an intermediary between the database and the client. It performs the heavy lifting of data retrieval, processing, and pagination, then delivers only the necessary data to the client. This intermediary approach reduces the processing burden on the client while maintaining efficient data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the system displays data in real-time, then data is up-to-date, but data conflicts occur during collaborative editing

Engineering Contradiction:
Improvedata freshnessVSAvoiddata conflicts
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent segments data into pages with specific row identifier ranges. When multiple users edit data, the system can identify which pages are affected and send updates only to those specific pages rather than redistributing the entire data set. This reduces the scope of potential conflicts while maintaining real-time data freshness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a feedback mechanism where changes made by one user are detected and communicated to other users. The server tracks modifications and sends targeted updates to clients, allowing real-time synchronization while managing conflicts through controlled feedback loops that notify users of changes in specific data sections.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8799311B2Intelligent data caching
Publication Date: 2014.08.05 APPLE INC
  • US8799311B2 patent drawing
  • US8799311B2 patent drawing
  • US8799311B2 patent drawing

AI summary

Methods, program products, and systems implementing intelligent data caching are disclosed. A client can send a request for data to a server. The request can include a query and a query context. The query can retrieve more data than can be displayed in a current page. The query context can specify a quantity of data records that can be displayed in the current page. The client can receive from the server two sets of data in response to the request. The first set of data can include row identifiers of data records that satisfy the query. The second set of data can include data records that can be displayed in the current page. The client can store the two sets of data in one or more buffers (e.g., two buffers) and update buffer(s) when different data records are displayed (e.g., when a user scrolls through pages).