Data Stream Object for Dynamic Visualization Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current visual modeling and CAD applications have limitations in conveying information and allowing user interaction beyond predefined scenarios, requiring new applications or programming to expand capabilities, and users are restricted in manipulating models to test various scenarios without modifying the application.

Innovation Solution

A data stream object is used to enumerate elements of a data stream, driving rendering of a data-driven model with multiple view components that can construct visual items based on input parameters, and analyzing dependencies to ensure only necessary data is processed, allowing for dynamic manipulation and extension of visual models without recoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a data stream object enumerates all elements of a large data stream, then complete data processing is achieved, but system memory and processing time are excessively consumed

Engineering Contradiction:
Improvedata completenessVSAvoidmemory consumption
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent segments the large data stream into manageable portions using a data stream object that enumerates elements incrementally rather than loading the entire data stream into memory at once. This allows complete data processing while maintaining low memory consumption by processing data in chunks as they are enumerated.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of data stream dependencies to determine which elements need to be enumerated and processed. By analyzing dependencies beforehand, the system can enumerate only the necessary portion of the data stream, avoiding unnecessary memory consumption while ensuring all required data is processed.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If view components use complex construction logic to render visual items, then visualization accuracy is improved, but rendering performance and processing speed deteriorate

Engineering Contradiction:
Improvevisualization accuracyVSAvoidrendering speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements dynamic rendering where view components adjust their construction logic based on the current state and requirements. The system dynamically determines which view components need to be rendered and with what level of detail, allowing high visualization accuracy for critical elements while maintaining fast rendering speed for less critical elements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different view components apply different levels of construction logic and rendering detail based on their specific requirements and importance. Critical visual items receive complex construction logic for high accuracy, while less critical items use simplified logic for faster rendering, optimizing the balance between visualization accuracy and rendering speed.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the application is modified to expand capabilities beyond predefined limits, then functionality and versatility are improved, but application complexity and programming requirements increase

Engineering Contradiction:
Improvemodel manipulation capabilityVSAvoidapplication structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal data-driven model framework that can handle multiple scenarios and visualization types through a common architecture. View components and data stream objects can be configured to work with different data types and visualization requirements without requiring separate application code, expanding versatility while maintaining manageable complexity through reusability.

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

Solution Approach 2:

The patent introduces a data stream object as an intermediary layer between the data source and view components. This intermediary handles data enumeration, filtering, and transformation, allowing the application to expand capabilities by configuring the data stream object rather than modifying core application logic, thus increasing versatility without proportionally increasing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If users are restricted in manipulating models, then application stability is maintained, but user flexibility and scenario testing capability are reduced

Engineering Contradiction:
Improveapplication stabilityVSAvoiduser manipulation flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements feedback mechanisms where user manipulations of the data-driven model are validated against predefined constraints and rules. The system provides feedback to users about valid operations, allowing flexible scenario testing while maintaining application stability by preventing invalid manipulations that would compromise system reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8788574B2Data-driven visualization of pseudo-infinite scenes
Publication Date: 2014.07.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8788574B2 patent drawing
  • US8788574B2 patent drawing
  • US8788574B2 patent drawing

AI summary

The use of a data stream object to enumerate elements of a data stream to thereby drive rendering of a data-driven model. The data driven model includes multiple view components that may use their own construction logic to render visual items based on data provided to their input parameter(s). The data stream may be quite large, in which case, only a portion of the data stream is enumerated by the data stream object. The enumerated elements of the data stream may be used to populate the input parameters of the view components, and or may be provided to analytics, from which input parameters of the view components may be derived. Thus, a data stream, regardless of its size, may be dealt with in the consistent manner to thereby drive the data-driven model.