Self-Executing ReactiveX Signal Pre-Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Imperative programming languages following the ReactiveX specification face challenges in pre-execution and memory management, leading to slower load times and memory leaks due to signals only being dispatched when observed by an external observer, limiting simultaneous observation and causing inefficiencies.

Innovation Solution

Implementing self-executing and self-disposing signals that can be initiated before external observers are present, using an internal observer to dispatch the signal and a disposable to manage memory allocation and deallocation, allowing for pre-execution and simultaneous observation by multiple observers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If signals are only dispatched when observed by an external observer, then memory management is simplified, but load times increase and pre-execution is prevented

Engineering Contradiction:
Improveload timesVSAvoidsignal dispatch mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by enabling signals to be dispatched and executed before any external observer is present. The signal execution is triggered automatically upon creation or registration, allowing pre-execution of signal logic and data processing to occur in advance, thereby reducing load times and improving application responsiveness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service through self-executing and self-disposing signals that manage their own lifecycle without requiring external observer intervention. The signals automatically execute their logic and handle their own disposal, eliminating the need for external dispatch mechanisms and simplifying the overall system architecture.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If signals require external observers for dispatch, then observer control is maintained, but simultaneous observation by multiple observers is limited

Engineering Contradiction:
Improvesimultaneous observation capabilityVSAvoidobserver coordination
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies segmentation by decoupling the signal execution mechanism from the observer notification mechanism. The signal executes independently and can be observed by multiple observers simultaneously without requiring coordination between observers. Each observer receives notifications independently, enabling versatile simultaneous observation while maintaining ease of operation.

Inventive Principle:
Principle #1Segmentation

3Productivity

If signals are disposed based on external observer presence, then memory leaks are prevented, but resource management becomes less efficient

Engineering Contradiction:
Improveresource management efficiencyVSAvoidmemory leaks
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements self-service through self-disposing signals that automatically manage their own memory resources. The signals monitor their own reference counts and automatically dispose of themselves when no longer needed, preventing memory leaks while improving resource management efficiency through automated lifecycle management without requiring external intervention.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11537499B2Self executing and self disposing signal
Publication Date: 2022.12.27 SALESFORCE INC
  • US11537499B2 patent drawing
  • US11537499B2 patent drawing
  • US11537499B2 patent drawing

AI summary

Described herein are systems, apparatus, methods and computer program products for implementing a self executing and self disposing signal for an imperative programming language. The self executing and self disposing signal may be utilized by a ReactiveX specification programming language. The signal may be executed before it is observed by an external observer, reducing load times. Additionally, the signal may allow for multiple observers to observe the output of the signal at the same time and may be self disposing to prevent memory leaks.