Process Registry for Distributed Master Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed processing environments, inefficiencies arise when processes abruptly stop running or fail to broadcast status messages, leading to unoptimized load management and execution inefficiencies.
Innovation Solution
A process registry is created and maintained on a server, with each process registering and periodically updating its status, allowing for dynamic selection of a master process using an algorithm to ensure continuous execution and minimize resource load by rotating master processes even in the absence of failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a central server manages scheduling of distributed processes, then processing ability of each node is fully exploited and load is optimized, but system complexity increases and response time to process failures decreases
Solution Approach 1:
A process registry acts as an intermediary data structure between the central server and distributed processes. The registry stores process status information and enables automatic failure detection through algorithmic queries, reducing the need for complex active monitoring while maintaining centralized coordination benefits.
Solution Approach 2:
Processes automatically register themselves and update their status in the process registry without requiring complex manual management. The system uses algorithmic detection to automatically identify failed processes by checking for missing status updates, enabling self-managing distributed execution.
2Reliability
If processes abruptly stop running without broadcasting status, then system reliability decreases, but detecting and measuring the failure becomes more difficult
Solution Approach 1:
Processes provide feedback by periodically broadcasting their status to the process registry. The system monitors this feedback stream and automatically detects failures when expected status updates are missing, enabling reliable failure detection without requiring processes to explicitly report failures.
Solution Approach 2:
The system establishes predetermined time intervals for status updates before failures occur. By comparing current time against the last known status update time stored in the process registry, the system proactively identifies failed processes before they cause execution downtime.
3Loss of time
If master process selection is performed only when processes fail, then response time to failures increases, but system complexity and resource overhead decrease
Solution Approach 1:
The system performs periodic master process selection at predetermined time intervals in addition to failure-triggered selection. This periodic refresh mechanism ensures that master process assignments are updated regularly, preventing stale selections while using simple algorithmic logic that minimizes computational overhead.
Solution Approach 2:
The master process selection mechanism dynamically adapts to system conditions by combining event-driven selection (upon failure detection) with time-driven periodic selection. This dynamic approach optimizes the balance between response time and resource overhead by selecting masters based on actual system state rather than fixed schedules alone.
Data Source
AI summary
The present disclosure describes a system and method for efficient, coordinated, distributed execution. Processes are registered into a process registry which includes a table or list of processes. Processes which are determined to be no longer running are removed from the registry. Each process is configured to send a broadcast when it starts or stops. Each process periodically reads the registry, sorts the list, and uses it to determine the current master process based on an algorithm.


