Shared Server UI Architecture for Low-Memory Process Control Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Process control systems face increased memory requirements and reduced performance due to redundant instantiation of common software components when operators need to interact with multiple devices, leading to inefficient use of computer resources.
Innovation Solution
Implementing a secondary application with a client and server architecture, where the server application executes core functional and user interface components once, and the client application serves as a front end to interact with the primary application, allowing seamless connection and reducing memory footprint by avoiding duplicate instantiation of common software components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple instances of software components are instantiated to interact with multiple devices, then device interaction capability is improved, but memory usage increases and system performance deteriorates
Solution Approach 1:
The patent merges multiple instances of software components into a single shared instance. The framework enables multiple device interactions to occur within one instance of the software component, eliminating redundant memory consumption while preserving full device interaction capability through the standardized interface framework.
Solution Approach 2:
The software component is designed with universal functionality to handle multiple device types and interactions within a single instance. The component implements a standardized interface framework that allows it to serve multiple purposes and interact with various devices without requiring separate instances for each device.
2Adaptability or versatility
If multiple instances of software components are instantiated to interact with multiple devices, then device interaction capability is improved, but system performance deteriorates
Solution Approach 1:
The framework combines multiple device interaction functionalities into a single software component instance, eliminating the performance overhead of multiple instances while maintaining the ability to interact with multiple devices through standardized interfaces.
Solution Approach 2:
Instead of creating multiple heavy instances, the framework uses lightweight copying mechanisms for specific device data and configurations within the single instance, allowing rapid device interaction without the performance penalty of full instance duplication.
3Adaptability or versatility
If multiple instances of software components are instantiated, then device interaction capability is improved, but complexity of software architecture increases
Solution Approach 1:
The framework segments the software architecture into distinct layers: a standardized interface framework layer and a device-specific implementation layer. This segmentation allows the core component to remain simple and reusable, while device-specific complexity is isolated to separate modules that interface through standardized protocols.
Solution Approach 2:
The standardized interface framework acts as an intermediary between the single software component instance and multiple devices. This mediator layer handles the complexity of device-specific protocols and communications, allowing the core component to remain simple while still supporting diverse device interactions.
Data Source
Figure 1~2
Figure 3
Figure 4A
AI summary
Methods and apparatus to reduce memory requirements of software applications in a process control system are disclosed. An example apparatus includes a primary process space to execute a primary application for use in a process control system, a primary user interface associated with the primary application and to be rendered on a display, and a secondary application to be invoked via the primary application. The secondary application includes a client application to enable interaction between the primary application and the secondary application, and a server application that serves the client application to implement at least one software component to generate a secondary user interface associated with the secondary application. The secondary user interface is to be communicated to the primary application to be rendered within the primary user interface.