Worker Thread Manager Framework for Web Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional single-threaded web applications struggle to meet modern performance standards due to complex and error-prone worker thread management, especially in resource-constrained client devices.

Innovation Solution

A worker manager framework that manages web workers in a generic fashion, providing an intuitive API for handling complex thread-management logic, dynamically spawning and constraining worker threads based on resource limits, and scaling to minimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If worker threads are used to execute jobs concurrently, then application performance is improved, but application logic becomes complex and error-prone

Engineering Contradiction:
Improveapplication performanceVSAvoidapplication logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts worker thread management logic from the web application into a separate browser extension. The extension's content script intercepts worker thread creation calls, manages the worker threads independently, and communicates with the web application through message passing. This separation removes the complexity of worker thread management from the application logic while preserving the performance benefits of concurrent execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The browser extension acts as an intermediary between the web application and the worker threads. It provides a simplified API to the web application while handling the complex worker thread management in the background. The extension's content script mediates all interactions, translating high-level application requests into worker thread operations without requiring the application to understand worker thread complexities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If worker threads are managed by the web application, then concurrency is achieved, but resource consumption increases

Engineering Contradiction:
Improveconcurrency capabilityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges worker thread management with the browser extension infrastructure that is already running. The content script, which is necessarily present for extension functionality, is reused to manage worker threads. This eliminates the need for additional dedicated management processes and leverages existing browser resources, reducing overall resource consumption while maintaining concurrency capabilities.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If worker threads are spawned dynamically, then flexibility is improved, but management complexity increases

Engineering Contradiction:
Improveworker thread flexibilityVSAvoidthread-management logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The browser extension's content script provides self-service worker thread management by automatically intercepting worker creation calls, managing the worker lifecycle, and handling communication protocols. The system is self-managing rather than requiring explicit application control, which maintains flexibility for dynamic worker spawning while eliminating the complexity of manual worker thread management from the application logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11379259B2Worker thread manager
Publication Date: 2022.07.05 SAP SE
  • US11379259B2 patent drawing
  • US11379259B2 patent drawing
  • US11379259B2 patent drawing

AI summary

A system includes determination of whether a current number of active worker threads of a client application is less than a maximum active worker thread limit, retrieval, if the number of active worker threads is less than the maximum active worker thread limit, of a first job associated with a first context from a job pool, determination of whether an inactive worker thread is associated with the first context, and, if an inactive worker thread is associated with the first context, execution of the first job on the inactive worker thread.