Interactive Database Filtering via Cached Result Sets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face performance issues when users access and view large amounts of data remotely, as they require multiple requests to the database, leading to a significant load on both the database and network systems, and traditional filtering mechanisms operate on a row or item level, failing to support access to classes of data effectively.

Innovation Solution

Implementing a client-side data filter agent that enables interactive filtering of data views, allowing users to change and filter data on a class level without constant database access, by caching result sets and using a list view manager to generate views dynamically, with interactive graphic representations and filter tools for refining queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users access and view large amounts of database data remotely, then data accessibility and user interaction are improved, but the load on database and network systems increases significantly

Engineering Contradiction:
Improvedata accessibilityVSAvoidsystem load
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by caching result sets from database queries in memory before users need to view the data. This pre-computation and pre-storage of data in an easily accessible format allows users to interact with and filter data without triggering additional database access, thereby improving data accessibility while avoiding the energy loss associated with repeated database and network operations.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If traditional database access mechanisms are used for filtering data, then row-level filtering is achieved, but access to classes of data and interactive viewing is limited

Engineering Contradiction:
Improvefiltering capabilityVSAvoiduser interaction
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system transitions from traditional row-level filtering to class-level filtering by organizing cached data into hierarchical structures where data can be filtered and viewed by class categories. This dimensional change in data organization allows users to interactively explore data at multiple levels of abstraction, improving both the versatility of filtering capabilities and the ease of user interaction through more intuitive class-based navigation.

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

3Reliability

If multiple database requests are made to change views on data, then real-time data updates are achieved, but performance and response time deteriorate

Engineering Contradiction:
Improvedata freshnessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system creates and maintains copies of database result sets in memory caches. These cached copies can be updated selectively and distributed to multiple users without requiring repeated access to the original database. This copying mechanism ensures data freshness for active users while maintaining high system performance by avoiding redundant database requests and reducing network traffic.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If remote access to multiple rows of data is implemented, then data viewing capability is improved, but database system performance and user experience suffer

Engineering Contradiction:
Improvedata viewing capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments the large result sets into manageable cached portions organized by data classes and user permissions. This segmentation allows the system to provide comprehensive data viewing capability by making relevant segments available in cache, while maintaining high performance by only caching and transmitting necessary portions rather than entire data sets. Users can interact with segmented data locally without burdening the database system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8719243B2Methods and systems for filtering data for interactive display of database data
Publication Date: 2014.05.06 SALESFORCE INC
  • US8719243B2 patent drawing
  • US8719243B2 patent drawing
  • US8719243B2 patent drawing

AI summary

Interactive database viewing is provided. A server associated with a database accesses a stored result set from a database query. The server presents a portion of the result set in a list view to a client device remote from the server and the cache memory, where the portion presented is based on filter selection based on fields of the data. In response to changes to the filter selection, the server can dynamically alter the list view without having to again access the database. If a change to the filter selection requests data outside the cached result set, the server accesses the database and updates the cached result set. Inline editing of the data in the list view can be applied back to the database by the server.