Runtime Component Binding via Service Domains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional object-oriented programming methods require explicit composition of components at compile time, limiting flexibility and making it difficult to dynamically reconfigure systems and manage changes in interaction patterns at runtime.

Innovation Solution

The use of component domains to dynamically bind components based on service import and export data at runtime, allowing for iterative binding and flexible composition of components, enabling applications to adapt based on available components and their characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If explicit composition of components is performed at compile time, then the program structure is well-defined and stable, but the system lacks flexibility and cannot be dynamically reconfigured at runtime

Engineering Contradiction:
Improveprogram structure stabilityVSAvoidruntime reconfigurability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent applies the dynamics principle by transitioning from static compile-time composition to dynamic runtime composition. The system allows component bindings to be created, modified, and reconfigured during runtime based on service imports and exports, enabling the program structure to adapt dynamically while maintaining stability through controlled composition mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses preliminary action by pre-defining component domains with their service imports and exports at compile time, but delaying the actual binding resolution until runtime. This allows the system to have prepared component structures in advance while maintaining the flexibility to resolve specific bindings dynamically based on available components and their characteristics.

Inventive Principle:
Principle #10Preliminary action

2Speed

If component bindings are fixed at compile time, then the execution speed is faster, but the system cannot adapt to changes in available components or their service offerings

Engineering Contradiction:
Improveexecution speedVSAvoidcomponent adaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic binding resolution where component interrelations are determined at runtime rather than being fixed at compile time. This allows the program to adapt to different component configurations and service offerings while maintaining efficient execution through optimized runtime binding mechanisms.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the system allows dynamic reconfiguration of components at runtime, then the adaptability and flexibility are improved, but the complexity of managing component interrelations increases

Engineering Contradiction:
Improveruntime flexibilityVSAvoidcomponent management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces component domains as intermediary structures that manage the complexity of component interrelations. These domains serve as containers that hold components and their service definitions, providing an organized framework for dynamic binding resolution while reducing the overall system complexity through structured management of component relationships.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the component management problem by organizing components into separate domains with well-defined boundaries. Each component domain independently manages its own components, service imports, and exports, which simplifies the overall complexity by breaking down the global component management task into smaller, more manageable local problems.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If iterative binding is performed to allow components to expand services dynamically, then the system flexibility is improved, but the time required for composition increases

Engineering Contradiction:
Improveservice expansion capabilityVSAvoidcomposition time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements iterative binding through periodic action by repeatedly executing the binding resolution process in iterations. In each iteration, the system resolves bindings based on current component states, and if components have expanded their services or imports, the process repeats. This periodic re-evaluation enables dynamic service expansion while controlling time loss through efficient iteration termination when no changes occur.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP2257868B1Iterative component binding
Publication Date: 2019.08.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2257868B1 patent drawingFigure 1
  • EP2257868B1 patent drawingFigure 2
  • EP2257868B1 patent drawingFigure 3

AI summary

Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import.