COM In-Process Server Memory Segmentation for Legacy Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy field device management apparatuses face difficulties in integrating Component Object Model (COM) technology due to the overuse of global/static variables, which requires significant code changes or reduces processing speed when trying to adapt existing software libraries.

Innovation Solution

Implementing a launch-program COM in-process server that manages COM instances in different memory spaces, intercepting functions like GetClassObject and CanUnloadNow to prevent direct OS execution and generate COM objects in separate memory spaces, allowing for the use of legacy libraries without altering their design or performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If COM technology is integrated with legacy libraries, then adaptability is improved, but code complexity increases due to global/static variable conflicts

Engineering Contradiction:
Improveintegration of COM technologyVSAvoidcode structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a launch-program COM in-process server as an intermediary layer between the COM system and legacy libraries. This mediator intercepts COM function calls (such as GetClassObject and CanUnloadNow) and translates them into safe executions that prevent direct OS access, thereby enabling COM integration without requiring changes to the legacy library's global/static variable structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the COM execution environment into separate memory spaces using multiple COM in-process servers. Each server handles specific COM instances independently, isolating potential conflicts between legacy libraries and COM components. This segmentation allows legacy code to run in its original form while COM technology is integrated at the system level.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If legacy libraries are modified to remove global/static variables, then adaptability to COM is improved, but development time increases

Engineering Contradiction:
ImproveCOM compatibilityVSAvoidcode adaptation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The launch-program COM in-process server acts as a mediator that allows legacy libraries to maintain their original global/static variable structure while still being compatible with COM technology. The intermediary handles the translation and isolation work, eliminating the need for time-consuming code modifications to the legacy libraries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If COM instances share common memory space, then processing speed is maintained, but reliability decreases due to variable conflicts

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the memory space into separate compartments by creating multiple COM in-process servers, each with its own memory space. This segmentation isolates global/static variables used by different legacy libraries, preventing conflicts while maintaining efficient inter-process communication through the standardized COM interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The launch-program COM in-process server serves as an intermediary that manages memory allocation and variable isolation between different COM instances. It ensures that each COM instance has its own memory space, preventing variable conflicts while maintaining reliable execution of legacy libraries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8806467B2Field device management apparatus
Publication Date: 2014.08.12 YOKOGAWA ELECTRIC CORP
  • US8806467B2 patent drawing
  • US8806467B2 patent drawing
  • US8806467B2 patent drawing

AI summary

A field device management apparatus may include a plurality of COM in-process servers, each of which acquires and manages device data related to a corresponding one of field devices, and a launch-program COM in-process server that stores a launch-program, the launch-program activating an instance in each of the plurality of COM in-process servers, the launch-program preventing four different functions from being executed directly by an OS in the plurality of COM in-process servers. The plurality of COM in-process servers may be initialized on the Microsoft Windows operating system to generate COM objects in different memory spaces.