Asynchronous Circular Buffer for Log Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale enterprise computing environments, such as those using Java 2 Enterprise Edition (J2EE), traditional synchronous buffer management for log data retrieval is inefficient, leading to delays and increased network traffic, as clients must wait for entire log files to be fetched, which can be time-consuming and burdensome.

Innovation Solution

Implementing an asynchronous buffer mechanism that uses a circular log buffer model with a local buffer on the client side, allowing for seamless scrolling and prefetching of data, where a second thread is used to retrieve data from the server independently of the main thread, enabling the client to continue operations without delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If synchronous buffer management is used to retrieve log data, then data retrieval is simple to implement, but client operations are blocked and performance is poor

Engineering Contradiction:
Improvesimplicity of buffer managementVSAvoidclient operation performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the buffer management into two independent parts: a local circular buffer for caching data and an asynchronous thread for data retrieval. This segmentation allows the client to query the local buffer without blocking, while a separate thread handles network data fetching, thus improving client operation performance while maintaining implementation simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary asynchronous thread that mediates between the client and the server. This intermediary handles the time-consuming network data retrieval in the background, allowing the client to continue operations without being blocked, thereby resolving the contradiction between operational simplicity and performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If entire log files are fetched to the client, then complete data is available, but network traffic increases and retrieval time is long

Engineering Contradiction:
Improvecompleteness of log dataVSAvoiddata retrieval time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-fetching and caching log data in a local circular buffer before the client actually needs it. The asynchronous thread continuously retrieves data from the server and stores it locally, so when the client requests data, it can be served immediately from the cache without waiting for network retrieval, thus reducing retrieval time while maintaining data completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses partial action by only fetching and caching the portion of log data that is likely to be needed, rather than retrieving entire log files. The circular buffer maintains a manageable subset of recent or relevant log entries, reducing network traffic and retrieval time while still providing complete access to the cached portion.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of energy

If minimal data is transmitted over the network, then network traffic is reduced, but data availability at client side is limited

Engineering Contradiction:
Improvenetwork traffic volumeVSAvoiddata availability
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The asynchronous thread performs preliminary data fetching and caching in the local circular buffer before client requests occur. This preliminary action ensures that data is already available locally when needed, maintaining data availability while minimizing actual network transmission to only what is cached or subsequently requested.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8239447B2Retrieving data using an asynchronous buffer
Publication Date: 2012.08.07 SAP SE
  • US8239447B2 patent drawing
  • US8239447B2 patent drawing
  • US8239447B2 patent drawing

AI summary

A mechanism for retrieving data over a network using an asynchronous buffer is described herein. According to one embodiment, an exemplary process includes, in response to a request for first data from a client via a first thread, determining whether a local circular buffer contains the requested first data, the local circular buffer having a head region and a tail region for identifying a head and a tail of the local circular buffer respectively, and the local circular buffer containing a portion of a data file maintained by a server over a network, generating a second thread to the server over the network to request the first data, if the local circular buffer does not contain the requested first data, and returning the first thread to the client while waiting for a result of the second thread from the server. Other methods and apparatuses are also described.