Distributed Process Framework Runtime Plug-in Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The development and deployment of both real-time and non-real-time distributed computing systems are inefficient, leading to high costs and prolonged market times, which hinders technological progress and innovation.
Innovation Solution
The SES Distributed Process Framework (SES-DPTM) employs a client-server model with stand-alone server plug-ins that can be loaded at runtime, providing a rapid development environment for server and client applications across multiple operating systems and hardware architectures, utilizing a simple and extensible client-server network protocol for efficient command and control interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional distributed computing systems are developed using conventional methods, then system functionality and reliability can be achieved, but development costs and time to market increase significantly
Solution Approach 1:
The system is divided into independent server plug-ins that can be developed, tested, and deployed separately. Each plug-in represents a modular functional unit that can be loaded into the server independently, allowing parallel development of different system components and reducing overall development time while maintaining system reliability through modular architecture
Solution Approach 2:
Server plug-ins are developed and tested in advance as standalone components before being deployed to the production server. This preliminary development and testing phase allows bugs to be caught early, ensuring system reliability before deployment, while the pre-prepared nature of plug-ins accelerates the overall time to market
2Reliability
If traditional distributed computing systems are developed using conventional methods, then system functionality can be achieved, but development costs increase significantly
Solution Approach 1:
The server architecture provides universal support for multiple types of server plug-ins through a standardized interface and runtime environment. This universality allows a single server infrastructure to support multiple applications and services, reducing the need for separate development and deployment processes for each application, thereby lowering development costs while maintaining reliability through consistent architecture
Solution Approach 2:
Server plug-ins can be replicated and deployed across multiple server instances using the same binary artifacts. This copying approach eliminates the need for custom compilation and configuration on each server, reducing development and deployment costs while ensuring consistent and reliable behavior across the distributed system
3Productivity
If stand-alone server plug-ins are used that can be loaded at runtime, then development time and costs are reduced, but system complexity increases
Solution Approach 1:
The server provides an intermediary runtime environment that manages the loading, instantiation, and execution of server plug-ins. This intermediary layer handles the complexity of dynamic plugin management, allowing developers to focus on writing simple plug-in code while the server manages the complexity of integration, thereby improving productivity without requiring developers to manage system complexity
Solution Approach 2:
The system includes mechanism for clients to discover available server commands through the plug-in interface and for the server to provide feedback on command execution. This feedback mechanism simplifies the interaction model between clients and servers, making the system easier to use despite the underlying complexity of runtime plug-in loading and execution
Data Source
AI summary
Providing a distributed processing framework. Initially, the process begins by building a server process plug-in by invoking a code generation module to generate required boilerplate and cross-platform code. Then commencing a server process by loading plug-in code and giving it a thread of control. In addition, client machines discovering the existence of a plug-in code being executed. Further, one or more client applications running on a client server at least issuing commands to the plug-in code, monitoring the events of the plug-in code, update the properties of the plug-in code without information regarding the plug-in interface.


