Server-Side Board Cache for Virtual Display Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face performance bottlenecks and increased server load due to frequent data requests from server databases for rendering virtual boards, leading to slow response times and database overload, especially when handling multiple requests simultaneously.

Innovation Solution

Implementing a server-side cache that stores board data temporarily, allowing subsequent requests for the same board to be fulfilled from the cache instead of the database, reducing database load and improving latency by storing data per-user or per-board with time-to-live (TTL) settings to ensure freshness and permissions compliance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is retrieved from the server database for each board load request, then data freshness is ensured, but response time increases and server database load increases

Engineering Contradiction:
Improvedata freshnessVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a cache that pre-stores board data before it is requested by clients. When a board is loaded, the data is retrieved from the database and stored in the cache for subsequent requests. This preliminary action of caching data resolves the contradiction by providing fast access to recently accessed data while maintaining data freshness through periodic updates or invalidation when the underlying data changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache as an intermediary layer between the client and the server database. This cache mediates data requests by serving data from its own storage when available, reducing direct database access. The cache acts as a buffer that maintains data freshness while providing fast response times, thus resolving the contradiction between data freshness and response time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is retrieved from the server database for each board load request, then data accuracy is maintained, but server database load increases

Engineering Contradiction:
Improvedata accuracyVSAvoidserver database load
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The cache pre-loads and stores board data from the database before subsequent requests arrive. This preliminary action reduces the frequency of database access while maintaining data accuracy, as the cache stores accurate data at the time of loading and updates it when necessary, thereby reducing server database load.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache serves as an intermediary that handles data requests without always querying the database. It maintains data accuracy by storing accurate copies and updating them when the underlying data changes, thus reducing the load on the server database while preserving data reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If cache is implemented to reduce database load, then response time improves, but data freshness may be compromised

Engineering Contradiction:
Improveresponse timeVSAvoiddata freshness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements dynamic cache management where the cache is updated or invalidated based on data changes. The cache is not static but adapts to changes in the underlying data, ensuring that data freshness is maintained while still providing fast response times for unchanged data. This dynamic approach resolves the contradiction between response time and data freshness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms to monitor and update the cache when data changes occur. When the underlying board data is modified, the cache is notified and updated accordingly, ensuring data freshness is maintained. This feedback loop allows the cache to provide fast response times while maintaining reliability through automated updates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20230306029A1Systems and methods for loading content
Publication Date: 2023.09.28 ATLASSIAN PTY LTD
  • US20230306029A1 patent drawing
  • US20230306029A1 patent drawing
  • US20230306029A1 patent drawing

AI summary

Methods for loading virtual boards from caches are disclosed. A method includes receiving a board load request from a client device. The board load request including an identifier of a requested board. The method further includes determining whether a cache record for the requested board is present in a board cache, and upon determining that the cache record for the requested board is present in the board cache, receiving the cache record from the board cache. The cache record includes identifiers of one or more objects present in the board. The method further includes retrieving object data for at least a subset of the one or more objects present in the board; hydrating the board cache record based on the retrieved object data; and communicating the hydrated board cache record to the client device for rendering the requested board on a display of the client device.