Custom Process Engine with Minimal Memory Footprint

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional process engines are not suitable for resource-constrained environments due to their large memory and disk footprints, which can limit their use in embedded computing and IoT applications where resources are limited.

Innovation Solution

A custom process engine is created with a minimal set of components necessary for a specific process application, reducing memory footprint and dependencies by analyzing and removing unused triggers and activities, resulting in a smaller executable file that can be deployed efficiently in resource-constrained devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional process engines are used to ensure functional completeness, then all possible process capabilities are available, but memory footprint and disk space consumption increase

Engineering Contradiction:
Improvefunctional completenessVSAvoidmemory footprint
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The process engine is segmented into a core engine and optional activity extensions. The core engine contains only essential process execution capabilities, while additional activities are provided as separate, loadable extensions. This allows the base engine to have minimal memory footprint while maintaining the ability to access additional functionality when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Unused activities and extensions are extracted from the core process engine binary. The engine loads only the activities that are actually present in the deployed application, leaving out unnecessary components. This extraction approach reduces the memory footprint and disk space requirements while preserving access to additional functionality through selective loading.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If traditional process engines include complete functional capabilities, then all process activities are supported, but device resource consumption increases

Engineering Contradiction:
Improveprocess capabilityVSAvoiddevice resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The engine architecture segments process capabilities into core functions and optional extensions. Only the essential core engine and required activities are loaded into memory, reducing the amount of processing power and memory resources consumed while maintaining support for additional capabilities when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The process engine loads only the partial set of activities that are actually required by the deployed application, rather than loading all possible activities. This partial loading approach reduces resource consumption while still providing all necessary process capabilities for the specific application.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If process engines are designed for general-purpose use, then they support all applications, but executable file size increases

Engineering Contradiction:
Improveapplication compatibilityVSAvoidexecutable file size
Core Design Contradiction:
Adaptability or versatilityVSWeight of stationary object

Solution Approach 1:

The build process extracts and excludes unused activities and extensions from the final executable binary. Only the core engine and activities that are actually present in the application are included in the output, significantly reducing file size while maintaining the ability to support additional functionality through the extension mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The core process engine is designed as a universal platform that can support multiple different applications and activity types. By making the core engine multi-functional and adding activities selectively, the system achieves broad application compatibility without requiring each executable to include all possible activities, thus keeping file sizes small.

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

Data Source

PatentUS10216498B2Custom-built process engine with minimal memory and disk resource consumption
Publication Date: 2019.02.26 CLOUD SOFTWARE GROUP INC
  • US10216498B2 patent drawing
  • US10216498B2 patent drawing
  • US10216498B2 patent drawing

AI summary

A minimum set of process engine components needed to perform a process application is determined. An executable code that includes the determined minimum set of process engine components and omits at least a subset of process engine components not included in the determined minimum set of process engine components is compiled. The executable code is deployed to a device.