Monitoring Control Device Plug-in Execution via Shared Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the monitoring control field, particularly in FA and PA, existing methods for plug-in security are inadequate, leading to potential security risks and performance issues due to inter-process communication and memory inefficiencies, which are not suitable for real-time applications like factory automation.
Innovation Solution
A monitoring control device that uses a plug-in management unit to identify target actions and an action-parameter management unit to generate arrays in a shared process space between the host and plug-in, allowing safe and high-speed execution of plug-ins without recompiling the host.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a plug-in is executed in a process space separate from that of a host, then plug-in security is improved, but execution speed decreases and memory consumption increases
Solution Approach 1:
The patent segments the plug-in functionality into distinct action types (I/O actions, calculation actions, display actions) and executes them in dedicated execution units within the host process space. This segmentation allows the system to maintain security through structured access control while avoiding the performance penalty of separate process execution.
Solution Approach 2:
The patent introduces an action parameter management unit as an intermediary that manages data exchange between the plug-in and host. This intermediary uses predefined action parameters with restricted access permissions, allowing secure communication within the same process space without requiring inter-process communication mechanisms.
2Reliability
If a plug-in is executed in a process space separate from that of a host, then plug-in security is improved, but memory consumption increases
Solution Approach 1:
The patent merges the plug-in execution environment with the host process space, eliminating the need for separate process memory spaces. The plug-in actions are executed as functions within the host process, sharing the same memory space and reducing overall memory consumption while maintaining security through access control mechanisms.
Solution Approach 2:
The action parameter management unit serves as an intermediary that manages memory access between plug-in actions and host resources. By using predefined action parameters with restricted access permissions, the system enables secure data exchange without requiring separate memory spaces, thus reducing memory consumption.
3Productivity
If plug-in functions are directly called to pass data in the same process space, then execution speed improves, but security risks increase
Solution Approach 1:
The patent applies different access permissions to different action parameters based on their security requirements. I/O parameters have restricted access to prevent unauthorized hardware access, while calculation parameters allow broader access. This localized quality control enables fast direct function calls while maintaining security through parameter-specific access rules.
Solution Approach 2:
The action parameter management unit acts as an intermediary that enforces access control rules on direct function calls. It validates and manages data exchange between plug-in actions and host functions, allowing high-speed communication within the same process space while preventing unauthorized operations through structured permission management.
Data Source
AI summary
A monitoring control device includes a plug-in management unit that dynamically loads a plug-in made up of a plurality of actions, and that calls a predefined common function, declared in a program of the plug-in, in order to control the execution of an action stored in the plug-in, and extend a function of the monitoring control system, and an action-parameter management unit that holds arrays, in each of which an action parameter is stored, that is a parameter needed for an individual action included in the plug-in, by the number of actions described in a job file, and that designates an identifier and an element index of the arrays in order to read or write a value of the action parameter.


