Browser Workflow Graph Dependency Tracking for Parallel Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing workflows in client-side browsers operate serially, leading to interruptions and poor user experience when handling large datasets, as they fail to support parallel execution of data transformations and lack graphical user interfaces for generating client-side data transformations.

Innovation Solution

A system and method enabling multi-threaded operations in browsers by tracking dependency mappings in workflow graphs, allowing background threads to perform demanding data transformations while the main thread maintains user interface operations, with updates stored in a global data store for efficient communication and reflection in the graphical user interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data processing is performed serially in the browser main thread, then the implementation is simple, but the user interface freezes and user experience deteriorates when handling large datasets

Engineering Contradiction:
Improveuser interface responsivenessVSAvoidthread management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the browser's execution model by separating the main thread (handling UI) from worker threads (handling data processing). This is achieved through creating worker threads that operate independently on data transformations while the main thread maintains UI responsiveness, resolving the contradiction between simple implementation and UI responsiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the worker thread communication interface) that allows the main thread to delegate processing tasks without direct involvement. Workers receive data and return results through defined interfaces, enabling parallel processing while maintaining UI responsiveness without requiring complex direct thread coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If background threads are used for data transformations, then user interface operations continue smoothly, but thread coordination and data communication become more complex

Engineering Contradiction:
Improvedata processing throughputVSAvoidthread coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where worker threads report progress and return results to the main thread through structured interfaces. This allows the main thread to coordinate multiple workers efficiently by receiving feedback on processing status and aggregating results, managing complexity through standardized communication protocols.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates a universal worker interface that can handle multiple types of data transformations through a common communication protocol. This multi-functional interface allows the same thread coordination mechanism to manage diverse processing tasks, reducing the complexity that would otherwise arise from implementing separate coordination logic for each operation type.

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

3Reliability

If client-side data transformations are implemented, then data privacy and transmission speed improve, but browser performance degrades due to serial processing limitations

Engineering Contradiction:
Improvedata privacy protectionVSAvoiddata processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent transforms the static serial execution model into a dynamic parallel execution model by introducing worker threads that can be created and managed dynamically based on data size and processing requirements. This allows client-side processing to maintain privacy benefits while achieving parallel processing speeds that match or exceed server-side performance for many operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11275490B2System and method for enabling user-defined data transformations through dynamic client-side workflows
Publication Date: 2022.03.15 DATASIV
  • US11275490B2 patent drawing
  • US11275490B2 patent drawing
  • US11275490B2 patent drawing

AI summary

A system and method for enabling data transformations as defined by a user through a dynamic workflow that accurately reflects how nodes and edges of the workflow are affected by changes made by a user. In some embodiments, users may interact with a main processing thread to provide changes to the workflow. A background processing thread may recursively propagate updates to the dependencies of the workflow based on the user's changes. The recursive operations performed by the background processing thread calculates and transmits results of the updated operations to the main worker thread for displaying to the user. The main processing thread displays results of recursive operations the data transformations without experiencing interruptions o the user interface.