Deep Pagination System for Distributed Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed databases face performance degradation and latency issues due to deep pagination, which occurs when the number of data objects requested exceeds the system's limits, leading to excessive sorting costs and potential system unavailability.

Innovation Solution

Implement a deep pagination system that calculates the number of data objects to return and uses pagination to stream results in batches, tracking the final data object of each search to perform subsequent queries, thereby limiting the impact of deep pagination on the coordinating node.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deep pagination is used to retrieve large numbers of data objects, then the quantity of data returned increases, but system performance deteriorates and latency increases

Engineering Contradiction:
Improvenumber of data objects returnedVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the large data retrieval task into multiple smaller batches using pagination. Instead of retrieving all data objects in a single operation, the system divides the results into manageable pages (e.g., 1000 objects per batch) and retrieves them sequentially. This segmentation reduces the sorting and processing burden on the coordinating node for each individual request, thereby maintaining system performance while still enabling access to large quantities of data objects across multiple paginated requests.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If deep pagination is used to return more data objects, then the quantity of results increases, but sorting costs and computational burden increase

Engineering Contradiction:
Improvenumber of data objects returnedVSAvoidsorting costs
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by having shard nodes pre-sort and prepare their local data objects before returning them to the coordinating node. Each shard node performs initial sorting and filtering of its portion of the data, so that when results are aggregated at the coordinating node, less additional sorting is required. This preliminary processing at the shard level reduces the overall sorting costs and computational burden on the coordinating node, enabling efficient retrieval of large numbers of data objects.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the number of results per request is increased, then more data is returned in fewer requests, but system availability and reliability decrease

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the data retrieval into multiple smaller paginated requests rather than attempting to return all results in a single large batch. Each paginated request handles a manageable number of objects (e.g., 1000 per page), which prevents any single request from overwhelming the system and causing failures. This segmentation improves system reliability by ensuring that individual requests remain within safe operational limits, while still enabling efficient retrieval of large datasets through sequential paginated access.

Inventive Principle:
Principle #1Segmentation

4Productivity

If conventional pagination limits are enforced, then system performance is maintained, but the ability to retrieve large datasets is limited

Engineering Contradiction:
Improvesystem performanceVSAvoidability to handle large datasets
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a multi-functional system that can handle both small and large dataset retrieval scenarios using the same underlying mechanism. The deep pagination framework maintains the performance benefits of conventional pagination for small requests while extending capability to handle large datasets through automated multi-batch retrieval. The system universally applies pagination logic regardless of dataset size, adapting the number of batches automatically based on the total number of results, thus maintaining performance while increasing adaptability to handle datasets of any scale.

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

Data Source

PatentUS11599583B2Deep pagination system
Publication Date: 2023.03.07 PAYPAL INC
  • US11599583B2 patent drawing
  • US11599583B2 patent drawing
  • US11599583B2 patent drawing

AI summary

A server computing device receives, from a client device, a request for data objects. The server computing device calculates a number of data objects to be returned to the client device based on the request for data and performs a first query with a distributed search engine to search a distributed index for the data objects in the request based on at least a first portion of the number of data objects. The server computing device then write each data object from a first data object set returned by the distributed search engine from the distributed index to an output stream buffer and sends the data objects stored in the output buffer when a first condition is satisfied.