Storlet Engine Abstract Syntax Tree Node Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing object storage environments face inefficiencies in workload balancing, as they lack a framework to intelligently select nodes for computation operations based on node characteristics, leading to suboptimal performance and increased disk input/output operations.

Innovation Solution

A storlet engine is introduced, which utilizes a lookup table, parser unit, and resource availability monitor to determine the optimal node for processing a computational algorithm by analyzing its abstract syntax tree and matching it with node categories, thereby selecting the most suitable node for execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computational algorithms are processed on storage nodes without intelligent selection, then workload distribution occurs, but computation performance is suboptimal and disk I/O increases

Engineering Contradiction:
Improvecomputation performanceVSAvoiddisk I/O operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis of computational algorithms by parsing them into abstract syntax trees and categorizing them before execution. This advance classification enables the storlet engine to pre-determine the optimal node characteristics required, allowing intelligent node selection before the actual computation begins, thereby preventing suboptimal workload distribution and excessive disk I/O operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storlet engine continuously monitors resource availability and node characteristics, using this feedback to dynamically select the most appropriate nodes for processing specific computational algorithms. This feedback mechanism ensures that computation tasks are consistently directed to nodes with matching characteristics, optimizing computation performance while minimizing unnecessary disk I/O operations

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If nodes are selected without considering node characteristics, then simple workload assignment occurs, but the system lacks adaptability to different computational requirements

Engineering Contradiction:
Improvenode selection adaptabilityVSAvoidworkload balancing framework
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system changes the parameters of node selection by transitioning from simple, uniform workload assignment to characteristic-based matching. By parsing computational algorithms into abstract syntax trees and comparing them against node characteristics stored in lookup tables, the system adapts its node selection process to match specific computational requirements with appropriate node capabilities, thereby enhancing adaptability without requiring overly complex framework changes

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The storlet engine acts as an intermediary between computational algorithms and storage nodes. It receives computational tasks, analyzes their characteristics through parsing, consults lookup tables containing node information, and selectively routes tasks to appropriate nodes. This intermediary layer provides the necessary adaptability for intelligent node selection while maintaining a relatively simple overall framework structure

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If storage units process all computational workloads, then universal processing capability is achieved, but workload concentration increases and efficiency decreases

Engineering Contradiction:
Improveworkload processing efficiencyVSAvoidworkload concentration on storage units
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system segments the computational workload distribution by categorizing both computational algorithms and storage nodes into distinct groups based on matching characteristics. Instead of treating all nodes uniformly, the storlet engine divides workloads and routes them to specific node categories that best match the computational requirements, thereby distributing workload concentration across multiple specialized nodes rather than overwhelming single storage units

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by assigning different types of computational workloads to different storage nodes based on their specific characteristics. Rather than having all nodes perform identical functions or having a single node handle all workloads, each node is matched with computational tasks that align with its local capabilities and resource availability, optimizing overall workload processing efficiency while preventing excessive concentration on any single storage unit

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10089146B2Workload balancing for storlet infrastructure
Publication Date: 2018.10.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10089146B2 patent drawing
  • US10089146B2 patent drawing
  • US10089146B2 patent drawing

AI summary

A first storlet engine is monitored for a first computational algorithm. The storlet engine includes a lookup table including a first characteristic of one or more nodes, a parser unit, and a resource availability monitor. The first computational algorithm is parsed into an abstract syntax tree using a parser unit. A first category of the first computational algorithm is determined by analyzing the abstract syntax tree. A first node of the lookup table with the first characteristic matching the first category for processing the first computational algorithm is identified based on the first category of the computational algorithm. The first computational algorithm is sent to the first node for processing.