Expression Language Interpreter for Dynamic Service Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing configuration files are static and lack dynamic data handling capabilities, limiting their ability to adapt to changing conditions without manual modifications, and they do not efficiently integrate domain-specific logic for dynamic value resolution.

Innovation Solution

The implementation of an expression language interpreter within a platform engine that processes configuration files in standardized formats like JSON, allowing for the detection and execution of expressions to derive dynamic values and logic, enabling in-memory representation and dynamic configuration value resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration files are made static with standardized formats, then formatting consistency and parsing reliability are improved, but adaptability to changing conditions and dynamic data handling deteriorate

Engineering Contradiction:
Improveparsing reliabilityVSAvoidadaptability to changing conditions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by enabling configuration files to contain both static values and dynamic expressions. The expressions can be evaluated at runtime to produce dynamic configuration values, allowing the system to adapt to changing conditions while maintaining standardized file formats for reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter state of configuration values from purely static to a hybrid state where values can be either static literals or dynamic expressions. This allows the configuration system to maintain format consistency while gaining the ability to compute values based on runtime conditions.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If expression language interpretation is added to process configuration files, then dynamic value resolution capability is improved, but system complexity and processing overhead worsen

Engineering Contradiction:
Improvedynamic value resolution capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an expression language interpreter as an intermediary component that bridges the gap between static configuration files and dynamic value resolution needs. This mediator parses and evaluates expressions within the standardized configuration format without requiring fundamental changes to the file structure or parsing mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If manual modifications are required for configuration changes, then configuration accuracy and control are improved, but productivity and time to implement changes deteriorate

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidtime to implement changes
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent enables configuration files to perform self-service through embedded expressions that automatically compute values based on runtime data. Instead of requiring manual updates for every configuration change, the system can dynamically generate appropriate values by evaluating expressions against current system state, reducing both manual effort and potential for human error.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3746886B1Techniques for utilizing an expression language in service configuration files
Publication Date: 2024.10.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3746886B1 patent drawingFigure 1
  • EP3746886B1 patent drawingFigure 2
  • EP3746886B1 patent drawingFigure 3

AI summary

Described are examples for processing a configuration file having a certain file format for defining static values. One or more static data values defined in the configuration file based on the JSON format can be determined. One or more expressions, defined according to an expression language, can be detected in the configuration file based on the file format. Via a platform engine and based on the expression language, the one or more expressions can be interpreted. The one or more static data values and the one or more expressions can be stored in memory as an in-memory representation of the configuration. An instance of a service for resolving one or more values related to the one or more expressions can be executed by the platform engine and based on the representation of the configuration.