Dynamic JSON Tree Rendering in Web Browsers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing and searching massive quantities of machine-generated data poses challenges due to its vast size and varied formats, leading to inefficiencies in data processing and retrieval, especially in modern data centers and IT environments.

Innovation Solution

Implementing an event-based data intake and query system with a late-binding schema, such as the SPLUNK ENTERPRISE system, which allows for flexible data processing and storage of minimally processed machine data for later retrieval and analysis, enabling efficient rendering of hierarchically organized data through client-side code that dynamically generates HTML elements for only the visible portion of a visual tree representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all machine data is stored for later analysis, then data analysis flexibility is improved, but storage requirements increase

Engineering Contradiction:
Improvedata analysis flexibilityVSAvoidstorage requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the visible portion of the data tree that fits within the display area, rendering and storing HTML elements solely for that visible subset. This extraction principle allows the system to maintain full data analysis flexibility while minimizing storage requirements by not retaining HTML representations of invisible data portions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the large JSON data structure into manageable portions based on the visible display area. By dividing the data tree into visible and invisible segments, the system processes and stores only the relevant visible segment as HTML elements, reducing overall storage requirements while preserving access to the complete data set for analysis.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If a visual tree representation of all JSON data is rendered, then complete data visibility is improved, but web browser performance deteriorates

Engineering Contradiction:
Improvedata visibilityVSAvoidbrowser performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies partial action by rendering HTML elements for only the visible portion of the data tree rather than the entire structure. The client-side executable logic determines which JSON objects correspond to visible tree nodes and generates HTML elements exclusively for those portions, leaving the rest unrendered. This partial rendering approach maintains complete data visibility for analysis while significantly improving browser performance by reducing the rendering workload.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent segments the visual tree representation into visible and invisible portions, processing and rendering only the visible segment. This segmentation allows the system to maintain complete data accessibility while improving browser performance by limiting HTML generation and rendering to manageable portions of the data structure.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If HTML elements are generated for all JSON objects, then complete data representation is improved, but memory usage increases

Engineering Contradiction:
Improvedata representation completenessVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts HTML element generation to only those JSON objects that correspond to visible tree nodes in the display area. The client-side executable logic identifies which JSON objects need HTML representation based on visibility criteria, generating HTML elements solely for that extracted subset. This approach maintains complete data representation capability while reducing memory usage by not creating HTML elements for invisible data portions.

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of time

If pre-specified data items are extracted and stored, then data retrieval efficiency is improved, but data analysis flexibility deteriorates

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddata analysis flexibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic approach where the system stores minimally processed machine data in its original format rather than pre-extracting specific data items. This dynamic storage approach allows the system to adapt to different analysis needs by processing and rendering different portions of the data as required, maintaining full data analysis flexibility while providing efficient retrieval through the visual tree interface.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11809810B1Dynamically displaying portions of a hierarchically organized data file in a web application
Publication Date: 2023.11.07 CISCO TECHNOLOGY INC
  • US11809810B1 patent drawing
  • US11809810B1 patent drawing
  • US11809810B1 patent drawing

AI summary

Techniques are described for optimizing the display of hierarchically organized data by dynamically rendering portions visible within a display area of a web browser. Using a web page file corresponding to a web page that includes the display of a visual tree structure representing JavaScript Object Notation (JSON) data and client-side executable logic, an application running at the client device displays the web page including the visual tree structure and one or more first tree nodes corresponding to first JSON objects from a first portion of the JSON data. In response to input requesting display of one or more second JSON objects from a second portion of the JSON data not currently displayed in the visual tree structure, the application modifies one or more elements of the web page to update display of the visual tree structure to include one or more second tree nodes corresponding to the second JSON objects.